Игра Survivor (враги, проходящие сквозь стены, hitTest и фонарик) - PullRequest
0 голосов
/ 06 июня 2011

Я опубликовал чуть ранее о некоторых проблемах с игрой, которую я пытаюсь сделать. Вот файл .fla: http://ifile.it/bpi79cv.

Моя первая и главная проблема заключается в том, что враги проходят сквозь стены. Я могу сделать hiTest, как с игроком, чтобы обнаружить столкновение, но я не знаю, как заставить врага изменить направление. Я думал, что было бы гораздо проще, если бы враги не могли двигаться одновременно по осям x и y, но не знаю, как это сделать. (тогда им нужно будет только повернуть на 90 градусов)

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

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

Если бы кто-то мог помочь мне с любой из этих проблем, это было бы очень признательно

Большое спасибо, Матье.

EDIT

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

Все еще не в состоянии совершать столкновения.

http://ifile.it/xmhra7g

Извините, что раздражаю мои вопросы. Спасибо, Матье.

1 Ответ

1 голос
/ 06 июня 2011

Хорошее место, с которого можно начать, - это поменять направление, когда они ударились о стену.

Но для этого потребуется немного больше математики, чем это ... На данный момент около линии 130 у вас есть это:

function updatePosition(follower:MovieClip, target:MovieClip) {

ниже, добавьте что-то вроде этого .. умножив текущее направление на -1, вы измените его на X и Y:

if (_root.environment.hitTest(follower._x, follower._y, true)) {
    follower.moveX = -follower.moveX;
    follower.moveY = -follower.moveY;
}

(Помните, что это сработает только с теми, кто не начинает касаться стены ... если начальные координаты одного из ваших треугольных монстров уже находятся внутри стены, это не сработает .. Что вы могли бы сделать do проверяет, являются ли начальные значения x и y допустимым тестом удара по стене, дают ли ему новые координаты, и продолжайте делать это до тех пор, пока он не начнется на пути ..)

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