![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2014
Сообщений: 54
|
Например hitTestObject ом проверяешь есть столкновение или нет конечно же hitTestObject вызываеться в ENTER_FRAME _е если столкновение есть то проигривай но в переменной hit запысиваеться TRUE TRUE TRUE ну и логично анимация начинает проигриваться много раз как сделать так что бы при столкновении в переменной один раз записывался true но а когда не будет столкновении то false.. потом опять один раз true и так далее...
__________________
Деньги это бумажки радости... |
|
|||||
|
Регистрация: May 2014
Сообщений: 54
|
таким образом анимация работает только один раз а потом перестает работать.. Не вариант
Добавлено через 47 секунд Цитата:
__________________
__________________
Деньги это бумажки радости... |
|
|||||
|
Ну а потом проверять если hitTest == false, то и флаг менять на false.
Тут, как бы, других вариантов то и нет) Только если вообще не использовать никакие хиттесты, а перевести все на SAT, или просто прикрутить физический движок, в котором эта SAT уже реализована |
|
|||||
private var _isHitting:Boolean = false; public function get isHitting():Boolean { return _isHitting; } public function set isHitting(value:Boolean):void { // ничего не изменилось, просто выходим из функции-сеттера if (value == _isHitting) return; // получено значение, отличное от того что было ранее // сохраняем это значение для следующих вызовов сеттера _isHitting = value; // если получено новое значение и оно таки true // то проигрываем анимацию if (_isHitting) { playAnimation(); } } ... myObject.isHitting = true; // анимация начинает проигрываться myObject.isHitting = true; // а второй раз не начинает, потому что мы сохранили старое значение myObject.isHitting = false; // в нашем примере мы ничего не делаем, но вообще тут бы надо останавливат анимацию myObject.isHitting = true; // анимация снова начинает проигрываться, потому как предыдущее значение isHitting было false
__________________
...вселенская грусть |
|
|||||
|
Регистрация: May 2014
Сообщений: 54
|
Цитата:
if (kubik_mc.hitTestObject(kubik2)){ if (!isHitting) { isHitting = true; playAnimation(); } } Добавлено через 3 минуты Цитата:
Добавлено через 11 минут все работает спасибо всем!
__________________
Деньги это бумажки радости... |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:49. |
|
|
« Предыдущая тема | Следующая тема » |
|
|