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の部分を自作クラスに変える)。

さらに、継承して作ったクラスを継承してまた新しいクラスをつくることもできます。

継承すると継承元のプロパティやメソッドがそのまま引き継がれます。つまりよく似た内容のクラスが複数必要な場合、一つのクラスに共通の処理を作っておいてそれを継承してクラスを作成し、あとはそれぞれの処理を付け足すだけで済みます。

このように継承を上手く利用するとプログラムを記述する量を格段に減らすことができます。ただし、それにはプログラムを再利用しやすいように考えて書く必要があるので初心者にはちょっと難しいんですけどね。。(;´Д`)
まぁそういうこともできるって頭の片隅に入れておいてプログラムを出来るだけ整理して再利用しやすいように作りましょう(`・ω・´)

どのゲームで遊ぶ?

同色で複数隣り合っているタイルをタッチするとそのタイルのところに他のタイルが集まります...
スペースインベーダー風ゲーム。謎の宇宙人たちが襲って来たみたいなんでやっつけてください。
爆弾を設置して爆発で敵を倒す懐かしいレトロゲーム。敵をすべて倒すとステージクリアです。...
壁や自分の体に当たらないように餌を食べて蛇を大きくするゲーム。

コメント欄

※コメントはまだありません※

コメントを残す

メールアドレスが公開されることはありません。

ゲームタグ一覧

ゲーム開発書籍(amazon)

HTML5 ゲーム開発の教科書 スマホゲーム制作のための基礎講座
ゲームを作りながら楽しく学べるHTML5+CSS+JavaScriptプログラミング[改訂版] (Future Coders(NextPublishing))
改訂2版 はじめて学ぶ enchant.jsゲーム開発