私はプログラミングの初心者で、最近プロセッシングを始めました。私のコードでは、衝突関数はタッチブール値を true に設定しますが、それを配列することにより、最終配列に対してのみ true をテストし、その前の配列に対しては true をテストしません。ここでどこが間違っていますか?私の質問が十分に明確であることを願っています。
編集:
申し訳ありませんが、もう一度やり直してください。私の問題は、衝突関数を適切に配列する方法を見つけることだと思います。配列内の衝突に [i] を追加できないようです。現時点では、コードは機能しますが、最後の配列に対してのみ true をテストし、その前の配列に対しては true をテストしません。
配列コード:
for(int i = 0 ; i < lineDiv; i++){
collide(xPts[i], yPts[i], vecPoints.xPos, vecPoints.yPos, myDeflector.Thk, vecPoints.d);
衝突機能:
void collide(float pt1x, float pt1y, float pt2x, float pt2y, int size1, int size2){
if (pt1x + size1/2 >= pt2x - size2/2 &&
pt1x - size1/2 <= pt2x + size2/2 &&
pt1y + size1/2 >= pt2y - size2/2 &&
pt1y - size1/2 <= pt2y + size2/2) {
touch = true;
}
else{
touch=false;
}