我对编程很陌生,最近开始学习处理。在我的代码中,collide 函数将 touch 布尔值设置为 true,但是通过对其进行排列,它只测试最终数组的 true 而不是它之前的数组。我在哪里错了?我希望我的问题足够清楚。
编辑:
对不起,让我再试一次。我想我的问题是找出如何正确排列碰撞函数。我似乎无法为数组中的碰撞添加 [i]。目前,该代码有效,但它只测试最后一个数组的真值,而不是它之前的数组。
数组代码:
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;
}