enchant.jsでclassを作るったり継承したりする方法
TRANSCRIPT
![Page 1: enchant.jsでClassを作るったり継承したりする方法](https://reader035.vdocuments.site/reader035/viewer/2022071813/55a2c1801a28abf43e8b481b/html5/thumbnails/1.jpg)
Osaki.js #2
enchant.jsでClassの作り方と継承の仕方
@hidesuke
![Page 2: enchant.jsでClassを作るったり継承したりする方法](https://reader035.vdocuments.site/reader035/viewer/2022071813/55a2c1801a28abf43e8b481b/html5/thumbnails/2.jpg)
「訳が分からないよ。どうしてJavaScriptには、
Prototypeベースのオブジェクト指向なんてものがあるんだい?」
![Page 3: enchant.jsでClassを作るったり継承したりする方法](https://reader035.vdocuments.site/reader035/viewer/2022071813/55a2c1801a28abf43e8b481b/html5/thumbnails/3.jpg)
JavaScriptのオブジェクト指向
• JavaとかC++とちょっと違う– クラスベースと呼ばれる
• プロトタイプベースのオブジェクト指向
• 俺だってわからん。上手につかってない
• enchant.jsのブログにわりとわかりやすい解説がある。– http://wise9.jp/archives/6196
• ぶっちゃけ、ゲームプログラミングにはクラスベースのほうが向いてるってブログに……
![Page 4: enchant.jsでClassを作るったり継承したりする方法](https://reader035.vdocuments.site/reader035/viewer/2022071813/55a2c1801a28abf43e8b481b/html5/thumbnails/4.jpg)
![Page 5: enchant.jsでClassを作るったり継承したりする方法](https://reader035.vdocuments.site/reader035/viewer/2022071813/55a2c1801a28abf43e8b481b/html5/thumbnails/5.jpg)
enchant.jsにはクラスベースの継承を擬似的にサポートする仕組みがある!
![Page 6: enchant.jsでClassを作るったり継承したりする方法](https://reader035.vdocuments.site/reader035/viewer/2022071813/55a2c1801a28abf43e8b481b/html5/thumbnails/6.jpg)
Class.create
![Page 7: enchant.jsでClassを作るったり継承したりする方法](https://reader035.vdocuments.site/reader035/viewer/2022071813/55a2c1801a28abf43e8b481b/html5/thumbnails/7.jpg)
何も継承しないClassをつくる
enchant();
A = Class.create({initialize:function() {// コンストラクタthis.x;
}someMethod : function() {// メソッド
}});
![Page 8: enchant.jsでClassを作るったり継承したりする方法](https://reader035.vdocuments.site/reader035/viewer/2022071813/55a2c1801a28abf43e8b481b/html5/thumbnails/8.jpg)
Aを継承したクラスBを作る
enchant();
B = Class.create(A, {initialize:function() {A.call(this); // Aのコンストラクタの呼び出し
}anotherMethod : function() {// メソッドvar y = this.x + 100; // 親クラスの変数よべる
}});