私は現在、javascript と HTML5 キャンバスを使用してプラットフォーム ゲーム エンジンに取り組んでいます。
このような「プラットフォーム」というオブジェクトがあります...
var platform = function(pid,px,py,pw,ph) {
//Some variables here... and then we have some functions
this.step = function() {
//Update / step events here
}
this.draw = function() {
//Drawing events here
}
//etc.
}
step() 関数には衝突検出のすべての計算があり、 draw() 関数はプラットフォームを描画します。
私がやりたいことは、movingPlatform という別のオブジェクトを作成することです。これは、これが移動するという事実を除いて、現在のプラットフォームとほぼ同じになります。
すべての衝突検出コードをコピーするのではなく、movingPlatform をプラットフォームから拡張できるようにしたいと思います...そして、いくつかの追加コードを step() 関数に移動プラットフォームに追加できるようにしたいと考えています.. 。 動く。
いくつかの追加情報...
ゲームがロードされると、CSV ファイルのデータを使用してレベルが生成されます。すべてのプラットフォームを格納する配列 platform[] があります。
プラットフォームを作成するには、次のようにします...
platforms.push(new platform(i,data[1],data[2],data[3],data[4]));
次に、ゲームのメインのステップ イベントとドロー イベントの間に、プラットフォームにステップ イベントとドロー イベントを実行させます。
すなわち
for(var i=0; i<platforms.length; i++) {
platforms[i].step();
}
どんな助けでも素晴らしいでしょう。ありがとう!