2011-12-15 51 views
0

好的,所以我无法在屏幕上随机添加一个框。我之前做过这个,看起来它应该有一个相对容易的解决方案。但是,唉,我一直无法弄清楚这一点。这是信息:在屏幕上随机添加一个对象as3

我有一个盒子出口作为框MC。 我在它与这个代码框的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); 

    } 
} 
} 

无任何响应,但没有错误。另外我想保留所有的课程。

+8

当一个盒子被创建时,构造函数调用一个创建一个新盒子的方法。你在那里创造了很多箱子。 – Kapep 2011-12-15 21:54:14

+1

@kapep是对的。你创建了一个无限递归,并且在一段时间后应该会出现堆栈溢出(!)错误。 – weltraumpirat 2011-12-15 21:57:46

回答

0

。在你的,因为该代码的代码事情是不工作:

1)当您使用类作为文档类,然后在类名应该是文档类的唯一即名称没有关联任何库符号。

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); 
     } 
    } 
}