Обнаружение столкновения Limejs
Я знаю, что LimeJS содержит Box2d для обнаружения столкновений. Я ищу некоторую помощь, чтобы начать создавать обнаружение. Вот что у меня есть:
Мяч падает с верхней части экрана. Ниже представлены три перетаскиваемые платформы. По сути, мне нужен мяч, чтобы поразить платформу, а затем катиться по вершине, пока он не достигнет края и не упадет.
Это обнаружение очень важно для создаваемой мной игры (кстати, я веб-разработчик, а не разработчик игры, но я знаю JavaScript, поэтому он был назначен мне), так как он также будет определять выигрыш (есть цель внизу). Я чувствую, что если бы я мог получить помощь в обнаружении и изменении направления, я мог бы сделать все остальное.
Спасибо.
1 ответ
Я не думаю, что вам нужно отягощать box2d. Есть некоторая кривая обучения, и это не похоже на то, что вам это нужно, если только вы не хотите, чтобы ваш мяч реально отскакивал от платформ.
Вот ссылка на очень простую и легко читаемую функцию обнаружения столкновений: http://www.gamedev.net/page/resources/_/technical/game-programming/collision-detection-r735
Обратите внимание, что в этом примере он считает, что ось Y начинается в верхней части экрана с положительным в направлении вниз.
По сути, вы хотите проверить, касается ли мяч какой-либо из платформ при падении. Вы можете использовать ограничительные рамки своих спрайтов. Когда это касается, вам нужно сделать какую-то реакцию. Если платформы плоские, просто остановите движение мяча в направлении y. Если платформы наклонные, то вам нужно выполнить триггер, чтобы выяснить направление движения шариков.
После этого вам нужно будет проверить, коснулся ли мяч цели. Если это так, добавьте к партитуре, сыграйте несколько гудков и позвольте игроку начать все сначала.