0

这行得通吗?

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

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

 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,... ) 
4

1 回答 1

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() {

        }

    }

}
于 2013-09-27T09:35:42.397 回答