我想寫一個圖形文檔的基本代碼,該圖形文檔每次將int推入數組時都會在圖上顯示一個值。這裏是代碼 -Actionscript 3.0 - removeChild不起作用
import flash.display.Shape;
import flash.display.MovieClip;
import flash.display.Sprite;
var myShape:Shape = new Shape();
myShape.graphics.lineStyle(2, 0x990000, 2);
var max:Number = 0;
var graph:Array = new Array();
var container:Sprite = new Sprite();
var redrawGraph = setInterval(reDraw,1000);
function reDraw()
{
while (container.numChildren)
{
container.removeChildAt(0);
}
graph.push(randomNum());
graph.reverse();
for (var ints in graph)
{
if (graph[ints] > max)
{
max = graph[ints];
}
}
for (var i:Number = 0; i < graph.length-1; i++)
{
myShape.graphics.moveTo(550-i*50, (max – graph[i])*20);
myShape.graphics.lineTo(550-(i+1)*50, (max – graph[i+1])*20);
container.addChild(myShape);
}
this.addChild(container);
graph.reverse();
}
function randomNum():int
{
return Math.floor(Math.random() * 11);`
}
除了我遇到是我結束了重疊的前一個,它應該被刪除舊的圖形形狀似乎並不奏效的部分圖形中的問題。 ..我無法弄清楚爲什麼。
任何幫助,將不勝感激。
(約格式化對不起...這將無法正常工作
這可能是一個範圍的問題,我會嘗試把痕跡入'reDraw'功能,保證'container'和'this'是什麼,你希望他們是。另外,請考慮使用Timer類而不是'setInterval'。 – shanethehat 2012-04-17 11:32:36
我檢查使用痕跡,它似乎只是每個週期調用removeChildAt(0)一次,儘管肯定有不止一個。 (它實際上並沒有刪除它...) – 2012-04-19 00:36:46