なぜこのヒット検出が機能しないのかわかりません。私は>、および幅と高さの値を変更しようとしましたが、実際の結果は得られません。私は、その内部の関数が機能していないことを保証するために、検出の内部にprintln()関数を配置しました。ヒット検出の問題
コード:
for(var b = 0; b < particles.length; b++) {
if(particles[a] === particles[b]) {
b++;
/*particle[a][3] OR particle[b][3] shows the x point.*/
/*particle[a][4] OR particle[b][4] shows the y point.*/
/*a is defined in a for loop just like the for loop above (for b).*/
} else if(particles[a][3]+10 > particles[b][3] && particles[a][3]-10 < particles[b][3] && particles[a][4]+10 > particles[b][4] && particles[a][4]+10 < particles[b][4]) {
var temp = particles[a][5];
particles[a][5] = particles[b][5];
particles[b][5] = temp;
println("hi");
}
}
プロジェクトにもう少し裏話。基本的には、ポイント(「パーティクル」)のリストを持つ配列があり、それらが互いに衝突して反対方向に向くようにヒット検出システムを持たせたいと思います。
助けていただけたら幸いです!
最終作業コード:
まずfor(var b = 0; b < particles.length; b++) {
if(a !== b && particles[a][3] > particles[b][3]-10 && particles[a][3] < particles[b][3]+10 && particles[a][4] > particles[b][4]-10 && particles[a][4] < particles[b][4]+10) {
var temp = particles[a][5];
particles[a][5] = particles[b][5];
particles[b][5] = temp;
println("hi");
}
}
の可能性のある重複した[Javascriptを:衝突検出](http://stackoverflow.com/questions/2440377/javascript-collision-detectionを) –
@ScottMarcusその投稿は役に立たない。私は衝突の仕組みを理解していますが、何らかの理由でこれは特にありません。また、その投稿にはjqueryの回答がたくさん含まれています(これは私が使っていないものです)。 – bdkopen
あなたのコードのどこかに 'println'が定義されていますか?そうでない場合、これはエラーを投げるでしょう。 – Dom