Cocos2d-jsとオブジェクト指向

main.js

var cocos2dApp = cc.Application.extend({
    config:document['ccConfig'],
    ctor:function (scene) {
        this._super();
        this.startScene = scene;
  ...
    },
    applicationDidFinishLaunching:function () {
  ...
        //load resources
        cc.LoaderScene.preload(g_resources, function () {
            director.replaceScene(new this.startScene());
        }, this);

        return true;
    }
});
var myApp = new cocos2dApp(SampleScene);


main.jsの中身
cc.Applicationを継承したcocos2dAppクラスの定義(var cocos2dApp = cc.Application.extend)
cocos2dAppに引数SampleSceneでインスタンス化(new cocos2dApp(SampleScene);)
ctorメソッドはcc.Applicationのctorをオーバーライドしたもの(this._super();)
new this.startScene()でインスタンス化されて、このシーンからゲームがはじまる。
(this.startSceneはSampleSceneクラス。)

ctorはコンストラクタの略。
<strong>コンストラクタとは・・・クラスのインスタンスが作成された直後に自動的に呼び出される特別なメソッドのこと</strong>
<strong>イニシャライザ・・・initメソッドのこと。初期化処理。</strong>
Objective-Cでは[[クラス名 alloc] init]もしくはクラス名 new




this.ship = cc.Sprite.create(s_ship)
最初は↑がインスタンス化の処理だと思ってたけど、createメソッド内でnewをしてるんですね。

Obj.create = function(){
   var obj = new Obj();
   obj.init();
   return obj;
}
スポンサーリンク
RESAD
RESAD

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
RESAD