随机彩色背景的问题

时间:2010-08-25 23:03:43

标签: actionscript colors random background

我第一次使用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 ();
                }
            }
        }
    }
}

代码很短,因为我删除了很多空行。我只留下了重要的一些 这段代码有什么问题?请帮帮我 提前谢谢。

1 个答案:

答案 0 :(得分:1)

在循环之前清除图形

 var x:uint, y:uint, color:uint;
 bg.graphics.clear();
 for (y=0; y<30; y++) {//etc