Показать сообщение отдельно
Старый 14.08.2012, 12:16
SpetZ_Naz вне форума Посмотреть профиль Отправить личное сообщение для SpetZ_Naz Найти все сообщения от SpetZ_Naz
  № 5  
Ответить с цитированием
SpetZ_Naz

Регистрация: Aug 2012
Сообщений: 77
Спасибо за поддержку))

Цитата:
У Вас один таймер, который дает команду "назад"
Извините, но это не так.. если бы я записал вот эту строчку:

Код AS3:
var timer:Timer = new Timer(3000,1);
... в глобальной переменной, тоесть до метода-конструктора "FirstExperiment", то да, был бы один таймер, но так как я создаю таймер по наведении мыши, то для каждого шарика у меня свой персональный таймер должен быть, со своим TIMER_COMPLETE... по идее..

Цитата:
В первом посте Вы утверждали, что двигается только один шарик, последний
Да, один, последний, так как первоначально код выглядел так (упущу лишнее ):

Код AS3:
   // код создания шариков и срабатывания MouseEvent упущу, см.выше
 
           private function onMO(e:MouseEvent):void{
           var target:MovieClip = new MovieClip;
 
            Tweener.addTween(e.target,{
            y:Math.random()*(stage.stageHeight-30),
            x:Math.random()*(stage.stageWidth-30),
            time:2,
            transition:"easeInOutQuad",
            onComplete:Pauser()});
 
            var timer:Timer = new Timer(3000,1);
            timer.start();
            timer.addEventListener(TimerEvent.TIMER_COMPLETE,onT);
           }
 
       private function onT(t:TimerEvent):void{
 
                 // sb - это возвращаемый на место шарик
                 // X, Y - это соответственно первоначальные координаты,
                 // их как-то нужно сюда еще передать при создании таймера
 
                Tweener.addTween(sb,{
                y:X,
                x:Y,
                time:2.5,
                transition:"easeOutInQuad",
                onComplete:Pauser});
 
       }
        private function Pauser():void{}
     }
}
Далее я измучил в кровь свои мозги, но так и не смог заставить шарики вернуться обратно по очередности их разлета и реализовал "топорный" способ, просто прогнав циклом Твинер с перебором всех шариков, но это тупо:

Код AS3:
 private function onT(t:TimerEvent):void{
            var i:uint=0;
            do {
                Tweener.addTween(this.getChildAt(i),{
                y:masXY[i][0],
                x:masXY[i][1],
                time:2.5,
                transition:"easeOutInQuad",
                onComplete:Pauser});
                i++;
                } while (i<this.numChildren);
       }
А должно быть так - навел мышку на шарик, он улете, таймер для него создался, запустился, прошло 3 секунды, он бац и сам вернулся... это для одного шарика, а у меня их туча и для каждого должен создаться свой таймер и эти таймера должны запоминать первоначальную позицию потревоженного шарика и вернуть его на место...

Фух, ну вроде доходчиво попытался изложить проблему)) жду советов, спасибо