Artur Mikucki

Artur Mikucki może czas na coś
nowego...

Temat: Tween.stop i Tween.resume dla wszystkich obiektów

Witam,

może ktoś będzie umiał mi pomóc. Mam napisany kod, który po dodaniu obiektu za pomocą addChild nadaje mu ruch Tween. Kierunek ruchu dla każdego obiektu jest inny i zależy od położenia myszki. Chciałbym jednak w pewnym momencie wcisnąć pauzę i zatrzymać wszystkie obiekty. Niestety to co zrobiłem działa tylko dla ostatnio dodanego obiektu. Jak zrobić pauzę dla wszystkich obiektów?
Poniżej fragment kodu. Z góry dziękuję za pomoc.

stage.addEventListener(MouseEvent.MOUSE_UP, przygotowanie_strzalu);
function przygotowanie_strzalu(e:MouseEvent):void{

stage.removeEventListener(MouseEvent.MOUSE_UP, przygotowanie_strzalu);

if(shootKula){
shootKula = false;
var newKula = new Kula();
newKula.y = wieza.y;
newKula.x = wieza.x;
var newCel = new Cel();
newCel.y = wieza.y -(stage.mouseY - wieza.y) * 1;
newCel.x = wieza.x -(stage.mouseX - wieza.x) * 1;
celContainer.addChild(newCel);
kulaRuchY = new Tween(newKula, "y", None.easeNone, newKula.y, newCel.y, 10, true);
kulaRuchX = new Tween(newKula, "x", None.easeNone, newKula.x, newCel.x, 10, true);
kulaContainer.addChild(newKula);
}
}
}

Pauza.addEventListener(MouseEvent.MOUSE_OVER, pauza_wcisnieta);
function pauza_wcisnieta(e:MouseEvent):void{
pauzaWcisnieta = true;
kulaRuchX.stop();
kulaRuchY.stop();
stage.removeEventListener(Event.ENTER_FRAME, strzal);
wieza.removeEventListener(MouseEvent.MOUSE_DOWN, zaladuj);
}

Pauza.addEventListener(MouseEvent.MOUSE_OUT, pauza_wycisnieta);
function pauza_wycisnieta(e:MouseEvent):void{
pauzaWcisnieta = false;
kulaRuchX.resume();
kulaRuchY.resume();
stage.addEventListener(Event.ENTER_FRAME, strzal)
wieza.addEventListener(MouseEvent.MOUSE_DOWN, zaladuj);
}
Łukasz Stocki

Łukasz Stocki Spoko gość ;)

Temat: Tween.stop i Tween.resume dla wszystkich obiektów

Najprościej chyba będzie w chwili dodawania obiektu (lub chwilę przed ;) ) zapisać je w tablicy (lub jakiejś innej "kolekcji"). Następnie gdy zajdzie potrzeba ich zatrzymania po prostu "przejść" przez tablicę i wywołać "akcję zatrzymującą" ;)
Szymon Rybka

Szymon Rybka Flex Developer

Temat: Tween.stop i Tween.resume dla wszystkich obiektów

Zapisanie ich w vektorze było by najszybsze i najwydajniejsze. Zawsze też można przeszukać scenę pod kątem obecności danego typu obiektu i na nim działać.



Wyślij zaproszenie do