私はjavascriptでヘビのゲームを作ろうとしていますが、私は衝突の検出に苦労しています。私はこれまでにいろいろな方法を試しましたが、絶望的に各フレームのセグメントのすべての位置を保存しておき、次にアニメーションを作成する前に重複があるかどうかを確認しました。この方法は不幸にもうまくいっていません。JavaScriptの衝突検出
これはおそらく、JSが配列をどのように扱うのかという誤解のためです。しばらくの間、私はif(x in y)
を使っていましたが、まったく同じオブジェクトが配列内にあれば、私が返すことがわかるものからです。ここでは読みやすくコードですhttp://jsfiddle.net/AScYw/2/
:
はここでライブデモで機能collide
としてhttp://pastebin.com/ygj73me6
問題のコードは、ヘビのオブジェクトです、。
this.collide = function(){
for(var z=0; z<this.positions.length-1; z++){
for(var q=z+1; q<this.positions.length-1; q++){
return this.positions[z][0] == this.positions[q][0] && this.positions[z][1] == this.positions[q][1];
}
}
このゲームは、衝突検出が無効になっているのは簡単です! – bgw
@PiPeepええ、それは素晴らしいですか? – danem