Решение Я использовал для осуществления этих проверок без Box2D выглядит следующим образом ..
Проверка столкновений между Polygon и Rectangle:
// Check if Polygon intersects Rectangle
private boolean isCollision(Polygon p, Rectangle r) {
Polygon rPoly = new Polygon(new float[] { 0, 0, r.width, 0, r.width,
r.height, 0, r.height });
rPoly.setPosition(r.x, r.y);
if (Intersector.overlapConvexPolygons(rPoly, p))
return true;
return false;
}
Проверьте столкновений между Polygon и кругом:
// Check if Polygon intersects Circle
private boolean isCollision(Polygon p, Circle c) {
float[] vertices = p.getTransformedVertices();
Vector2 center = new Vector2(c.x, c.y);
float squareRadius = c.radius * c.radius;
for (int i = 0; i < vertices.length; i += 2) {
if (i == 0) {
if (Intersector.intersectSegmentCircle(new Vector2(
vertices[vertices.length - 2],
vertices[vertices.length - 1]), new Vector2(
vertices[i], vertices[i + 1]), center, squareRadius))
return true;
} else {
if (Intersector.intersectSegmentCircle(new Vector2(
vertices[i - 2], vertices[i - 1]), new Vector2(
vertices[i], vertices[i + 1]), center, squareRadius))
return true;
}
}
return false;
}
Проверка на поли/круг, иллюстрированная здесь, была написана Криштиану Сантосом в this thread, а проверка Poly/Rect - это быстрое решение доморощенного I придумал.
Хе-хе спасибо, я на самом деле натолкнулся на эту точную ссылку через некоторое время после публикации этого вопроса. У меня есть закладка для изучения, хотя из того, что я могу сказать, потребуется начать этот проект с самого начала, чтобы реализовать Box2D, тем временем я только что реализовал проверенную проверку Poly/Rect и проверку Poly/Circle Я нашел еще одну нить. Конечно, я планирую начать с рамки Box2D с помощью моего следующего проекта! – 1337ingDisorder
Отправил бы ответ, но SO требует, чтобы у меня было больше очков репутации, прежде чем я могу сказать, что вы ответили на мой вопрос. – 1337ingDisorder
@ 1337ingDisorder Хорошо, что реализация Box2D действительно, действительно не проблема, даже если у вас уже есть большая игра. Вы просто создаете тело и экипируете его с помощью приспособлений и фигур, а затем просто нарисуйте Sprite на этих телах. Если вы скорее визуальный ученик, есть много видеороликов, которые охватывают эту тему на YouTube. Не беспокойтесь о повышении, я здесь, чтобы помочь ... не получить upvotes :) – dHoja