as3中在屏幕上随机添加一个对象

Posted

技术标签:

【中文标题】as3中在屏幕上随机添加一个对象【英文标题】:Adding a object randomly on the screen in as3 【发布时间】:2012-01-21 13:30:28 【问题描述】:

好的,所以我无法在屏幕上随机添加一个框。我以前做过这个,它似乎应该有一个相对简单的解决方案。但是,唉,我一直无法弄清楚这一点。这是信息:

我有一个盒子 mc,导出为盒子。 我有一个 Box Actionscript 文件,其中包含以下代码:

package 
    import flash.display.MovieClip;
    import flash.events.Event;
    import flash.events.MouseEvent;
public class Box extends MovieClip 

    public function Box() 
        createBox();

    

    private function createBox():void 

        var _box:Box = new Box();
        _box.x = Math.random()*stage.stageWidth ;
        _box.y = Math.random()*stage.stageHeight;
        stage.addChild(_box);

    


什么都没有发生,但没有错误。我也想把所有东西都保留在课堂上。

【问题讨论】:

当一个盒子被创建时,构造函数调用一个创建一个新盒子的方法。你在那里创建了很多盒子。 @kapep 是对的。您已经创建了一个无限递归,一段时间后应该会出现堆栈溢出 (!) 错误。 我如何只允许创建 1 个。 【参考方案1】:

您的代码中有问题,因为该代码不起作用:

1) 当您使用类作为 Document 类时,类名应该是唯一的,即 Document 类的名称不与任何库符号相关联。

package   

    import flash.display.MovieClip;  
    import flash.events.Event;  
    import flash.events.MouseEvent;  

    public class Main extends MovieClip 
    
        private var _box:Box = new Box();

        public function Main() 
        
            createBox();
        

        private function createBox():void 
        
            trace(Math.random()*stage.stageWidth)
            _box.x = Math.random()*stage.stageWidth ;
            _box.y = Math.random()*stage.stageHeight;
            stage.addChild(_box);   
        
    

【讨论】:

我有一个名为 Main 的不同文档类,但这是用于盒子影片剪辑的

以上是关于as3中在屏幕上随机添加一个对象的主要内容,如果未能解决你的问题,请参考以下文章

以一定速度在屏幕上随机移动物体

ActionScript 3 [AS3]在一个范围内创建一个随机数

Random类

AS3 中的随机百分比

AS3:生成多个影片剪辑(随机位置)?

ActionScript 3 AS3随机颜色