Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Не могу понять логику :( (http://www.flasher.ru/forum/showthread.php?t=203333)

yoman 16.09.2013 17:14

Не могу понять логику :(
 
Собственно суть:
Есть объекты A, B, C, есть обработчик событий который ждет клика по объекту.
Событие наступило и e.target = объект A.
Что-бы сдвинуть его с места создаем новый экземпляр класса анимации движения и передаем в него e.target, и куда ехать, допустим:

animator = new Animator (e.target);
animator.goTo (x,y);

Жмакаем мышкой по объектам,задаем направление, все три объекта двигаются в заданных направлениях, все супер. НО если мы хотим изменить направление движения, получается, что создается еще один экземпляр класса анимации и движением одного объекта рулят, один, два, три и так до бесконечности класса.
Никак не пойму как связать объект и класс анимации, что бы при изменении направления обращаться к уже созданному экземпляру и просто передать в него новые координаты.

Заранее спасибо, пример хотя бы на псевдокоде приветствуется :)

Elff 16.09.2013 17:29

Код AS3:

animator = e.target as Animator;


Rivexe 16.09.2013 17:31

Сохранять ссылки на конкретные аниматоры в dictionary? Ну или в самих объектах?

yoman 16.09.2013 17:38

Цитата:

Сообщение от Rivexe (Сообщение 1146289)
Сохранять ссылки на конкретные аниматоры в dictionary? Ну или в самих объектах?

А можно поподробнее, я только начал изучать AS :(

Добавлено через 1 минуту
Цитата:

Сообщение от Elff (Сообщение 1146288)
Код AS3:

animator = e.target as Animator;


Никак не могу понять смысл данной конструкции :(

Rivexe 16.09.2013 17:42

Код AS3:

var obj:BaseObject = e.target as BaseOBject;
if(!obj.animator)
    obj.animator = new Animator(obj);
 
obj.animator.goTo (x,y);


yoman 16.09.2013 18:03

Цитата:

Сообщение от Rivexe (Сообщение 1146292)
Код AS3:

var obj:BaseObject = e.target as BaseOBject;
if(!obj.animator)
    obj.animator = new Animator(obj);
 
obj.animator.goTo (x,y);



Спасибо огромное, разобрался :)

Elff 16.09.2013 18:14

yoman, извиняюсь, невнимательно прочитал


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

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