Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Двигать мышкой Symbol целиком (http://www.flasher.ru/forum/showthread.php?t=186845)

SlashMan 08.11.2012 22:21

Двигать мышкой Symbol целиком
 
Добрый вечер, ув. форумчане

Есть флеш-проект, в нем два символа, один символ содержится в другом
Нужно сделать так, чтобы пользователь мог двигать этот символ
пишу такой код:

Код AS3:

private var icon:lol;
public function Tree()
{
        icon = new lol;
        private function drgstrt(e:MouseEvent):void
      {
                e.target.startDrag();
        }
        private function drgstp(e:MouseEvent):void
        {
                e.target.stopDrag();
        }
}

Где lol - symbol в котором содержится еще один символ
После запуска получаю следующее:
Когда двигаю мышкой символ, содержащий в себе еще один символ, он двигается независимо от того, который в нем содержится, он остается на месте, и наоборот: когда вожу мышкой содержащийся в символе символ - он двигается независимо от "родительского"

Как сделать так, чтобы они двигались "вместе"?

Спасибо заранее!

Alex Lexcuk 08.11.2012 23:27

может
Код AS3:

e.target.parent.startDrag();

или
Код AS3:

e.currentTarget.startDrag();


Wolsh 08.11.2012 23:27

Ваш код вообще не может быть скомпилирован. Исправьте на настоящий.
Ответ скорее всего — использовать не e.target, a e.currentTarget.

SlashMan 08.11.2012 23:29

Опа, сработало! спасибо, оба варианта работают как надо

А не подскажете в чем между ними разница все-таки?

Krusty 08.11.2012 23:35

Разница в всплытии события.

Wolsh 09.11.2012 00:45

currentTarget это объект, на событие от которого Вы подписывались.
target это самый глубоковложенный (в currentTarget) объект, над которым был курсор. То есть объект, по которому непосредственно кликнули. Далее событие всплывало по контейнерам, содержащим target, пока не достигло currentTarget, у которого зарегистрирован слушатель этого события, который его и получил.


Часовой пояс GMT +4, время: 11:12.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.