PDA

Просмотр полной версии : Не могу понять логику :(


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
animator = e.target as Animator;

Rivexe
16.09.2013, 17:31
Сохранять ссылки на конкретные аниматоры в dictionary? Ну или в самих объектах?

yoman
16.09.2013, 17:38
Сохранять ссылки на конкретные аниматоры в dictionary? Ну или в самих объектах?

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

Добавлено через 1 минуту
animator = e.target as Animator;
Никак не могу понять смысл данной конструкции :(

Rivexe
16.09.2013, 17:42
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
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, извиняюсь, невнимательно прочитал