2013-06-26 4 views
1

Я новичок в мире libgdx и мире игрового программирования в целом. Я хочу создать игру, но не любую игру. Я создал некоторую базовую игру, такую ​​как перерывы, и понг. Но я все еще не могу идти дальше, я хочу, чтобы у меня были проблемы с столкновением, особенно между сущностями! Я хочу создать игру со склонами, как sonic.обнаружение столкновения, в libgdx

+0

Некоторое чтение: http://www.a-coding.com/2010/10/predictive-collision-detection.html http://www.vobarian.com/collisions/ – Patashu

+0

Кроме того, если вы прокрутите вниз и посмотрите справа на связанные вопросы, я вижу много вопросов о обнаружении столкновений. Пробовал их читать? – Patashu

ответ

3

U можно использовать OverlapTester класс, данное в суперджампере проекта по LibGdx

4

Вы знаете, как создавать прямоугольники. Я предполагаю, что вы знаете о прямоугольниках. если вы хотите, чтобы проверить столкновение двух прямоугольников, которые можно сделать следующим образом:

Rectangle a = new Rectangle(), b = new Rectangle(); 

в конструктор набора прямоугольников

a.setRectangle(yourX, yourY, yourWidth, yourHeight); 
b.setRectangle(yourX, yourY, yourWidth, yourHeight); 

при рендере проверка столкновений, как это:

if(a.overlaps(b)) 
{ 
    //do your work 
} 
+0

во-первых, спасибо за ваш ответ, и да, я знаю о прямоугольниках, но они бесполезны, на мой взгляд, для коллизий карт и особенностей класса TiledMap, который предоставляет libgdx, и я не думаю, что могу использовать их для склонов, еще раз спасибо! –

+0

для столкновения на карте плитки вы можете сослаться на эту ссылку http://www.creatiosoft.com/how-to-detect-collision-in-tilemap –

+0

Надеюсь, что это сработает !! –

3

создать свой с использованием класса прямоугольников в Libgdx и протестировать их с помощью Intersector класс.

Этот класс имеет много функций, чтобы проверить перекрытие прямоугольников, кругов и т.д ..

+0

Большое спасибо, я прочитал только прототипы, и я обнаружил, что он очень полезен, я буду google, чтобы узнать больше, но, пожалуйста, позвольте мне задать вам еще один вопрос, могу ли я использовать его для коллизии карт, если да, тогда как, и еще раз спасибо :) –

+0

@Vikalp Jain, что если мои спрайты arent прямоугольные, как я буду делать столкновения? – guiomie

5

Почему бы не использовать Box2D (libGDX расширение)? Он идеально подходит для платформеров.

+0

Это хорошее предложение. Хотя это не всегда уместно, Box2D часто может быть хорошим решением для тех, кто не хочет «сворачивать свое» обнаружение столкновений. – fr1tz

0

Я рекомендую вам использовать box2d, если вы знаете основы. , если вы знаете, как использовать прямоугольник, спрайт-пакет, камеру и т. Д. Затем вам следует перейти к Box2d, если вы не просто возьмете хороший учебник и попытаетесь сделать приложение без какого-либо расширения. Это сделает вашу концепцию понятной, а вы легко сможет понять логику игры.