Непрерывные видеоролики с обнаружением столкновений в AS3? - PullRequest
0 голосов
/ 08 марта 2011

Я начинаю понимать ActionScript и становлюсь лучше с ним.Тем не менее, я строю платформенную игру с неограниченной продолжительностью.Каков наилучший способ создать «блок», на котором игрок прыгает?

На самом деле я не знаком ни с чем, кроме массива.Есть ли другие способы?Конечно, обнаружение столкновений для этих мувиклипов необходимо (лучше всего было бы сделать это без гигантского цикла через массив и т. Д. В каждом кадре).Возможно, на экране одновременно что-то около 5 блоков.

Спасибо, Марти Лайне

Ответы [ 2 ]

0 голосов
/ 08 марта 2011

Если вы подразумеваете «неограниченную длину» как «бесшовный мир», вы не можете хранить все блоки в массиве (так как у вас нет неограниченной памяти). Вам нужно будет изучить процедурное создание уровней и хранить только несколько экранов только в памяти.

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

Кроме того, попробуйте использовать класс Vector, если вы можете настроить таргетинг на FP 10, потому что он быстрее (если вы используете только один тип объекта в массиве).

0 голосов
/ 08 марта 2011

Вы можете проверить столкновение с помощью функции hitTestObject или hitTestPoint

Однако сохранение списка каждого блока в игре в массиве и его циклический просмотр, а также проверка на наличие коллизий в каждом кадре не выглядит так, как если бы он хорошо масштабировался.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...