![]() |
|
||||||||||
|
|||||
|
[+5 27.02.11]
[+ 26.04.11] |
Здравствуйте.Сегодня такая проблема у меня появилась:
Есть клип,он движется хаотично,вот код: mina.onEnterFrame=function() { this._x += dx; this._y += dy; if (Math.random() > .9) { _global.dx = Math.random()*10-5; _global.dy = Math.random()*10-5; } updateAfterEvent(); } mina.onLoad=function() { dx = Math.random()*10-5; dy = Math.random()*10-5; } Для этого я пытаюсь при столкновении мувика со стеной умножать его горизонтальную и вертикальную скорость на -1; Так вот:мувик все равно улетает за границы положенного пространства,хотя скорости изменяются,что доказывает Output.Не пойму в чем затык...
__________________
Незнание правил освобождает от ответственности. |
|
|||||
|
что произойдет с миной, если она "влетела в стену"?
тык-мык и полетела дальше, стена то кончилась ![]() например можно проверять что "произойдет" а не "произошло": 1) двигаем 2) проверяем 3) если столкновение произошло - меняем направление и ставим вплотную к стене(или возвращаем на начальную позицию если вычислить стену сложно) |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 560
|
Где находится этот код?
|
|
|||||
|
Просто менять скорости на противоположные не решит проблему. Смотрите, например ваша мина столкнулась с полом, значит её скорость по x не должна меняться, а вот скорость по y должна. Всё зависит какой своей стороной она влетела в стену.
Добавлено через 3 минуты Сделайте проверку где по очереди проверяйте каждую сторону mina. |
|
|||||
|
[+5 27.02.11]
[+ 26.04.11] |
этот код находится на отдельном прозрачном мувике,который просчитывает все столкновения в фильме.Он работает так как трейс выводит что скорость поменялась...
Добавлено через 2 минуты Цитата:
__________________
Незнание правил освобождает от ответственности. |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|