AS3类可以创建自己的实例

时间:2013-09-27 09:01:36

标签: actionscript-3

这会有用吗?

从游戏开始,它会创建一个盒子精灵,这会触发一个自定义事件。

如果我使用公共静态函数和一些事件监听器,例如这个准代码:

 public static function tile()
 {
 if this hears statusbox.statuschanged 

and this triggers a static private function 
 } 

static private function 
create instances of tile 
with 
public function tile(id:uint,... ) 

1 个答案:

答案 0 :(得分:0)

没有理由让某个类无法创建自己的实例。您只需要确保它不会在从其自己的构造函数调用的任何方法中执行,或者在任何自动实例化的类变量中执行此操作。否则你会创建一个非终止循环!读取你的准代码相当困难,但听起来你不会在实例化时创建任何内部引用,所以你可能会清楚。无论如何要提供一些例子:

会工作:

package {

    public class Tile {

        private var _innerTile:Tile;

        public function Tile() {

        }

        public function innerTile_create():Tile {
            _innerTile = new Tile();
            return _innerTile;
        }

    }

}

无效:

package {

    public class Tile {

        public function Tile() {
            var innerTile:Tile = new Tile();
        }

    }

}

也行不通

package {

    public class Tile {

        private var _innerTile:Tile = new Tile();

        public function Tile() {

        }

    }

}