0

私は現在、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();
}   

どんな助けでも素晴らしいでしょう。ありがとう!

4

4 に答える 4

2

このプラットフォーム クラスを、移動するプラットフォーム オブジェクトの「ベース」オブジェクトとして使用します。これは、オブジェクト指向プログラミングの JavaScript の実装であるプロトタイプを介して行います。

詳細はこちらJavaScript .prototype はどのように機能しますか? + ウェブ上のその他の多くの記事

于 2013-09-20T03:43:26.357 に答える