Я знаю, что этот вопрос аналогичен другим, но если у меня есть ограниченный прямоугольник игровой объект. Что перемещает позицию. Как я могу проверить линию, если она пересекается с любыми элементами между ними?Проверка столкновений с играми, когда прямоугольник перемещается из одного положения в другое, если он пропустил столкновение в пройденном расстоянии
В крайнем случае. [x = 2, x = 1, width = 1, height = 1] A переходит к [x = 4, y = 1, width = 1, height = 1]. Если прямоугольник B существует в [3,1,0,5,0,5], он будет пропущен.
Я прочитал о скалярном и кросс-продукте, но они являются единственными строками, если я правильно прочитал. Это связано с развитием Android-игр на медленных устройствах с низкой частотой кадров. Я попадаю в предметы. Я проверяю пересечение, используя этот код ниже.
public boolean testIntersection(GameVector lowerLeftMain, float mainWidth, float mainHeight, GameVector lowerLeftCollider,
float colliderWidth, float colliderHeight){
boolean intersect = false;
if(lowerLeftMain.x < lowerLeftCollider.x + colliderWidth+0.08f && //checks left collision
lowerLeftMain.x + mainWidth > lowerLeftCollider.x-0.08f && //checks right collision
lowerLeftMain.y < lowerLeftCollider.y + colliderHeight+0.08f &&//checks top collision
lowerLeftMain.y + mainHeight > lowerLeftCollider.y-0.08f)//checks bottom collision
intersect = true;
return intersect;
}
Возможно, кто-то укажет меня в правильном направлении, должен ли я отказаться от прямоугольников и сконцентрироваться на стиле столкновения лучей?
Заранее спасибо.
http://stackoverflow.com/questions/9438690/whats-the-best-way-to-do-collision-detection, http://gamedev.stackexchange.com/questions/24434/polygon- столкновение-обнаружение-андроид, – user2864740