enchant.jsのクラスの作り方
enchant.jsには独自のクラスのようなものを作れる機能があります。
このクラスを上手く使えば処理を分割してわかりやすく書くことができます。さらに継承もできるのでプログラムを簡潔に書くことも出来るようになります。
少しプログラムに慣れてきたら絶対に使った方が楽なのでぜひ使い方を覚えましょう(‘ω’)ノ
クラスの作り方
書き方としては以下のようになります。
var Abc = enchant.Class.create({ //処理 }); var abc = new Abc();
まずクラスを記述して、newで生成するって感じです。これでクラスとして扱うことができます。
後はこの中にメンバやメソッドなどを書いていきます。
メソッドは以下のように書きます
var ABC = enchant.Class.create({ aaa: function(){//メソッドaaa //処理 },//カンマが必要 bbb: function(a, b){//メソッドbbb //処理 } });
各メソッドの間にはカンマが入ります。
使い方が決まってるメソッド
メソッドの中には使われ方が決まっているものもあります。
・initialize・・クラスをnewで生成したときに自動で行われる初期化処理です。初期値を設定しておきたいときなどに使います。もちろん後で呼び出して使うこともできます
・onenterframe・・フレームごとに行う処理を書きます。フレーム毎に勝手に処理してくれます。便利ですが個人的にはあまり使っていません。私はフレーム毎の処理はすべてメインループに書いています。その方が自分の考えた順番で処理させることができるし後で読み返したときに流れが分かるためです。ただし、基本的に流れに関係ないようなものはここに書くこともあります。(たぶんこれはSpriteなどにだけあるようです。なのでSpriteを継承しないとないみたい)
継承っていう機能
クラスには継承っていう別のクラスの機能を引き継いで新しいクラスを作る機能があります。たぶん最初はSpriteを継承してプレイヤークラスを作ったりすると思います。その際の書き方は以下のようになります
var Player = enchant.Class.create(enchant.Sprite, { initialize: function(w, h){ enchant.Sprite.call(this, w, h); //処理 } });
これでSpriteクラスを持った新しいクラスを作ることができます。もちろん自作のクラスも継承できます(enchant.Spriteの部分を自作クラスに変える)。
さらに、継承して作ったクラスを継承してまた新しいクラスをつくることもできます。
継承すると継承元のプロパティやメソッドがそのまま引き継がれます。つまりよく似た内容のクラスが複数必要な場合、一つのクラスに共通の処理を作っておいてそれを継承してクラスを作成し、あとはそれぞれの処理を付け足すだけで済みます。
このように継承を上手く利用するとプログラムを記述する量を格段に減らすことができます。ただし、それにはプログラムを再利用しやすいように考えて書く必要があるので初心者にはちょっと難しいんですけどね。。(;´Д`)
まぁそういうこともできるって頭の片隅に入れておいてプログラムを出来るだけ整理して再利用しやすいように作りましょう(`・ω・´)
同カテゴリー記事
記事の感想・コメント
※コメントはまだありません※