読者です 読者をやめる 読者になる 読者になる

フニゲの開発日記

Electronとか...

自作のクラスを追加する

cocos2d-html5


スプライトにフラグとかプロパティを追加したいとき、いちばん簡単なのはcc.Spriteのインスタンスに勝手に書き足す方法。

var zombie = cc.Sprite.create(s_zombie);
zombie.dead = true; // ゾンビだから

まあ、それでいいのだが、後々のことを考えると自作のクラスを作ってcc.Spriteをhas-a(所有する)形式にしたい。

最近のjavaScriptについては素人なんだけど、できれば自作のクラスもcocos2d-html5のクラスと同じ感じで定義したり継承できたらかっこいいよね。

cocos2d-html5のクラス継承はJhon Resigさんのこれを参考にして作られている。extendの中身を見るとぜんぜん違うんだけど、そこは見なかったことにして。

cc.Classが基底クラスなので、これをextendしてcreate関数を書けばいいようだ。

var Zombie = cc.Class.extend({
    _dead:true, // ゾンビだから
    _sprite:null
});

Zombie.create = function() {
    var zombie = new Zombie();
    zombie._sprite = cc.Sprite.create(s_zombie);
    return zombie;
};

...

var zombie = Zombie.create();
広告を非表示にする