Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: Коробка должна стать стальной!
Flash Zone Forum > Macromedia Flash > Начинающим
Lokia
Подскажите пожалуйста как решить проблему
Есть шар, которым управляет пользователь, и который может перемещаться во всех направлениях.
Есть коробка, сквозь которую шар проходить не должен.
Пробовал использовать hitTest, но так и не смог правильно задать условие.
tiHo
тема обсуждалась х*еву кучу раз.

нужно проверять совпадения координат шара и коробки.

чтото на подобие:

if(ball.hitTest(box))
{
ball._x=box._x
ball._y=box._y
}


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

Lokia
Да уж понятно, блин, что тема не нова, но на форуме я её отыскать не смог!
И пока все воротили нос от "надоедливого ламо", я разбивши голову о стену в кровь таки допёр как это сделать,
и никаких координат сравнивать не надо.

Так что спасибо за "помощь" на форуме в разделе "НАЧИНАЮЩИМ"
Дарлок
Прошу прощения)) А как это всеже сделать? Я тоже начинающий и интересно как? Если получится по подробнее))) И действительно на форуме я не нашел ответов на этот вопрос((
Lokia
box - коробка
boll - шар
S - скорость шара

в шар пишем:
onClipEvent(enterFrame) {
if(Key.isDown(Key.RIGHT)) {
_root.boll._x += S}} // так для каждой курсорной клавиши с помощью else if
в коробку пишем:
onClipEvent(enterFrame) {
if(Key.isDown(Key.RIGHT)) {//при условии движения вправо
if(this.hitTest(_root.box)){//и столкновении с коробкой
_root.boll._x -= S}}//скорость шара нейтрализуется.То же самое для всех направлений.
Вроде так.
Условие остановки можно наверно вписать и в шар сразу, но если у тебя много таких объектов(как было у меня), то лучше создать такую функцию, а в твёрдые объекты потом писать только её активацию.
Русская версия IP.Board © 2001-2008 IPS, Inc.