Форум 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=183038)

SpetZ_Naz 09.08.2012 23:39

Ребят, помогите новичку ;)
 
Кому не лень, подскажите как дописать код или ссылку на решение проблемы в форуме, дабы реализовать задуманное...

В общем тренируюсь создавать объекты, передвигать их с помощью Tweener'а ну и так далее... создаю N-е количество шариков, размещаю их в цепочку, наводя хаотически мышку шарики разлетаются в разные стороны - это я реализовал без проблем.. теперь после разлета хочу вернуть их на место с помощью таймера.. по окончанию движения шарика, создаю и запускаю таймер для каждого шарика, но столкнулся с проблемой как передать в слушателя какой именно шарик возвращать и теперь, просто все созданные таймера срабатывают на последний шарик... в общем ниже привожу код.. возврат сделал топорным способом, нехочу так с самого начала учиться, подскажите пожалуйста как правильно сделать?)

package
{
import caurina.transitions.Tweener;
import flash.display.MovieClip;
import flash.display.Stage;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.TimerEvent;
import flash.utils.Timer;

public class FirstExperiment extends MovieClip
{
private var masXY:Array;
public function FirstExperiment()
{
masXY = new Array();
for (var i:uint=0; i<10; i++){
var sb:SuperBall = new SuperBall(0x00ff00, 4);
sb.x = 100+(sb.width*i);
sb.y = 100;
sb.name = i;
masXY.push([sb.y, sb.x]);
addChild(sb);
}
this.addEventListener(MouseEvent.MOUSE_OVER, onMO);
}

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{
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);
}
private function Pauser():void{}
}
}

mooncar 09.08.2012 23:43

1. Название темы не раскрывает сути вопроса (п.6. правил).
2. Код нужно оформлять тегами.
Закрыто.


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

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