Обнаружение столкновения Limejs

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

Мяч падает с верхней части экрана. Ниже представлены три перетаскиваемые платформы. По сути, мне нужен мяч, чтобы поразить платформу, а затем катиться по вершине, пока он не достигнет края и не упадет.

Это обнаружение очень важно для создаваемой мной игры (кстати, я веб-разработчик, а не разработчик игры, но я знаю JavaScript, поэтому он был назначен мне), так как он также будет определять выигрыш (есть цель внизу). Я чувствую, что если бы я мог получить помощь в обнаружении и изменении направления, я мог бы сделать все остальное.

Спасибо.

1 ответ

Решение

Я не думаю, что вам нужно отягощать box2d. Есть некоторая кривая обучения, и это не похоже на то, что вам это нужно, если только вы не хотите, чтобы ваш мяч реально отскакивал от платформ.

Вот ссылка на очень простую и легко читаемую функцию обнаружения столкновений: http://www.gamedev.net/page/resources/_/technical/game-programming/collision-detection-r735

Обратите внимание, что в этом примере он считает, что ось Y начинается в верхней части экрана с положительным в направлении вниз.

По сути, вы хотите проверить, касается ли мяч какой-либо из платформ при падении. Вы можете использовать ограничительные рамки своих спрайтов. Когда это касается, вам нужно сделать какую-то реакцию. Если платформы плоские, просто остановите движение мяча в направлении y. Если платформы наклонные, то вам нужно выполнить триггер, чтобы выяснить направление движения шариков.

После этого вам нужно будет проверить, коснулся ли мяч цели. Если это так, добавьте к партитуре, сыграйте несколько гудков и позвольте игроку начать все сначала.

Другие вопросы по тегам