我正在用 cocos2d (iphone jsb + cocos2d-html5) 编写一个跨平台游戏,我想知道如何真正让它跨平台。适用于 -html5 的代码不一定适用于 -iphone jsb,反之亦然。
目前我陷入以下(相关)问题:
ctor
和有什么区别init
?- 什么时候应该超载
ctor
,什么时候应该超载init
? - 我应该什么时候打电话
_super()
和ctor
/或init
? - 如果我超载,我
.init()
应该什么时候打电话?ctor
ctor
- 我应该如何实例化对象?与
var inst = new Obj(); inst.init();
?还是只是var inst = new Obj();
?我知道有些.create()
方法是有意义的,但我问的是我自己编写create
方法的情况。 - 我应该什么时候使用
associateWithNative
?
我有一些适用于 html5 版本的代码,但后来我得到一个错误,说对象已经在 iPhone jsb 版本上初始化,所以很明显我弄错了。我试过查看 MoonWarriors 代码,但它似乎从未使用过associateWithNative
,我认为这是必需的,它有时会重载,有时不会,有时会从ctor
调用,有时不会,等等......init
ctor