![]() |
Отследить перемещение объекта
Требуется создать событие, которое будет происходить при перемещении объекта.
Пробовал так: Код:
override public function set x(value:Number):void{Возможно, такое событие где-то уже есть и я просто его не нашел. Тогда буду благодарен за указание на него |
В вашем коде очень не хватает строки
Код:
_x = value; |
поробуйте так
function set tX(x:int):void{ dispatchEvent(new Event('onXChange')); this.x = x; } ну и соответственно меняете не x, а tX |
Код AS3:
|
Спасибо, работает. Только решить задачу это не помогло. Я перемещаю объект с помощью startDrag и думал, что данное событие будет срабатывать постоянно при перемещении объекта, но так не происходит
|
Функция set x вызывается только когда вы ставите вручную значение x.
Чтобы событие срабатывало при перемещении, вам, по-моему, придется вешать ENTER_FRAME эвент или подобный на перетаскиваемый объект. |
ENTER_FRAME сейчас применяю, но хотелось чего-нибудь менее ресурсоемкого
|
можно с таким же успехом сделать
Код:
override public function startDrag():void |
CrazyFlasher, а разве startDrag не вызывается единожды в, собственно, начале перетаскивания?
|
не...я имею ввиду полностью переписать на enter_frame и не вызывать super.startDrag
|
| Часовой пояс GMT +4, время: 23:06. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.