私は楽しみ/練習のためだけに非常にシンプルなゲームを作成していますが、戻ってきて学習する場合に備えて、現在のシンプルさに関係なく、適切にコーディングしたいと考えています
したがって、その文脈で、私の質問は次のとおりです。
オブジェクトの割り当てに関係するオーバーヘッドはどれくらいですか? そして、インタープリターはすでにこれをどの程度最適化していますか? オブジェクトのグリッド位置を繰り返しチェックしますが、それらがまだ同じグリッドの正方形にある場合は、グリッド配列を更新しません
if (obj.gridPos==obj.getCurrentGridPos()){
//etc
}
しかし、毎回変化する外側の「作業」ポイント オブジェクトを保持する必要がありますか、getCurrentGridPos()
それとも毎回新しいポイント オブジェクトを返す必要がありますか?
基本的に、このシナリオでは点オブジェクトを作成するオーバーヘッドがそれほど重要ではないとしても、どちらが速いでしょうか?
編集:これ?フレームごとにすべてのオブジェクトが呼び出されます
function getGridPos(x,y){
return new Point(Math.ceil(x/25),Math.ceil(y/25));
}
また
//outside the frame by frame update function looping through every object each frame
tempPoint= new Point()
//and each object each frame calls this, passing in tempPoint and checking that value
function makeGridPos(pt,x,y){
pt.x = Math.ceil(x/25);
pt.y = Math.ceil(y/25);
}