我第一次使用StackOverflow,所以请保持友好和理解
几天前我对ActionScript感兴趣。我已经下载了FlashDevelop(一个免费的IDE)和FlexSDK4。然后我从一些教程中学到了基础知识
目前我并没有真正开发任何大项目,我只是在做测试
无论如何,解决我的问题对我来说非常重要。我找了它,但我找不到。
我的应用中只有一个按钮和一个背景。按钮和背景(下面:“bg”)都是Sprite类的对象
当我单击按钮时,背景会被涂上10x10px的随机颜色方块。
问题是我点击按钮的次数越多,我必须等到背景改变的时间越长。这还不是全部!我可以准确地改变背景54次!在第55次它根本没有变化。
package {
// some imports here
public class Main extends Sprite {
private var button:Sprite;
private var bg:Sprite;
public function Main ():void {
init();
}
private function init (e:Event=null):void {
addChild (bg);
// in the original code there are some lines here,
// in which the button is created
addChild (button);
button.addEventListener (MouseEvent.CLICK, btnClick);
}
private function btnClick (event:MouseEvent):void {
var x:uint, y:uint, color:uint;
for (y=0; y<30; y++) {
for (x=0; x<40; x++) {
color=Math.round(Math.random()*16777215);
bg.graphics.beginFill (color);
bg.graphics.drawRect (x*10, y*10, 10, 10);
bg.graphics.endFill ();
}
}
}
}
}
代码很短,因为我删除了很多空行。我只留下了重要的一些 这段代码有什么问题?请帮帮我 提前谢谢。
答案 0 :(得分:1)
在循环之前清除图形
var x:uint, y:uint, color:uint;
bg.graphics.clear();
for (y=0; y<30; y++) {//etc