Flashhilfe.de - Flash Community

mcs entladen mit Timer [Flash 10]

 


AntwortenRegistrieren Seite1  

DocMix#1
Benutzerbild von DocMix
Beiträge: 53
Wohnort: Berlin
Registriert: Jul 2010

27.05.2011, 12:24

ich habe 10 mcs auf der Bühne erstellt mit Timer
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
public class Intro extends MovieClip
   {      
        var counter:int = 0;
        var listInterval:Timer;      
        //var frame:Array = new Array();
      
     public function Intro():void {         
        listInterval = new Timer(300, 10);
        listInterval.addEventListener(TimerEvent.TIMER, makeCarre);
        listInterval.start();         
           
        }
        
     public function makeCarre(evt:TimerEvent):void {
           
           var FrameCont: MovieClip = new MovieClip();
           FrameCont.x = 430;
           FrameCont.y = 335;      
           this.addChild(FrameCont);   
           if (counter <= 9)
           {
           var Frame: carre = new carre();         
           Frame.id = counter ;
           FrameCont.addChild(Frame);
           Frame.x = 70 * counter;
           Frame.alpha = 0;
           if (Frame.x >= 340) {
           Frame.x = (70 * counter) -350;
           Frame.y = 70;         
              }
           }
           TweenLite.to(Frame, 1, { alpha:0.7, scaleX:0.8, scaleY:0.8} );
           counter++;
           //trace(Frame.id);         
         if (counter >= 10) {
              secondTimer(evt);
              
           }
     }

und jetzt möchte ich in secondTimer die mcs nacheinander löschen , genauso wie sie aufgebaut worden sind. hab einiges versucht, nichts hat funktionniert!
Kann mir jemand helfen?
Schlagwörter: mcs löschen, TimerEvent
Werbung
Beiträge: 0
Registriert: Feb 2016


willie33#2
Benutzerbild von willie33
Beiträge: 147
Wohnort: Qo'noS
Registriert: Nov 2009

27.05.2011, 16:11

Du musst jetzt einen zweiten Timer erstellen, oder dem ersten einen neuen EventListener hinzufügen. Den initialisierst du in der if Anweisung, wo überprüft wird, ob counter >= 10 ist.
Loading comments...
DocMix#3
Benutzerbild von DocMix
Beiträge: 53
Wohnort: Berlin
Registriert: Jul 2010

Themenautor/in

27.05.2011, 17:51

das mit dem zweiten Timer habe ich schon probiert. So sah es aus:
ActionScript:
1
2
3
4
5
if (counter >= 10) {
           listInterval = new Timer(300, 10);          
           listInterval.addEventListener(TimerEvent.TIMER, secondTimer);
           listInterval.start();
           }

da habe ich verschiedene Sachen probiert,z.B. mit einem Array! Aber klar, ein Array ist nicht richtig! Oder doch? jetzt weiss ich nicht mehr!
Bin nicht der Profi eben!
Geändert von DocMix am 27.05.11 um 18:03 Uhr
DocMix#4
Benutzerbild von DocMix
Beiträge: 53
Wohnort: Berlin
Registriert: Jul 2010

Themenautor/in

27.05.2011, 18:28

so habe ich es jetzt geschrieben
ActionScript:
1
2
3
4
5
6
7
8
9
10
public function secondTimer(evt) {                                
           this.removeEventListener(Event.COMPLETE, makeCarre);         
              
        if (this.getChildByName("FrameCont"))         {                  
                 
                 this.removeChild(this.getChildByName("FrameCont"));
              }
           
           
        }

Nun , die mc's werden nacheinander entfernt aber ich kann kein Tween einsetzen! Ich möchte daß sie auf die ursprungliche Größe gehen und ihr alpha auf 0, dann sollen sie verschwinden!
Eine Idee?
Geändert von DocMix am 27.05.11 um 18:29 Uhr
Werbung
Beiträge: 0
Registriert: Feb 2016


Sebastian#5
Benutzerbild von SebastianFlashhilfe.de Moderator
Beiträge: 6981
Wohnort: München
Registriert: Jan 2002

27.05.2011, 18:29

Ein Array ist an der Stelle schon richtig da Du ansonsten immer wieder die Timer Instance überschreibst. Also am besten nutzt Du ein Dictonary und speicherst dort Deine Timer Instanzen.
JavaScript & JavaFX Freelancer || Flashhilfe @ Twitter || XING Profil
DocMix#6
Benutzerbild von DocMix
Beiträge: 53
Wohnort: Berlin
Registriert: Jul 2010

Themenautor/in

27.05.2011, 18:31

Dictionnary???? TimerInstanzen. meinst du z.B. Namen von mc's?
Ich komme dir bestimmt blöd vor aber was isch dasch?
Geändert von DocMix am 27.05.11 um 18:32 Uhr
Sebastian#7
Benutzerbild von SebastianFlashhilfe.de Moderator
Beiträge: 6981
Wohnort: München
Registriert: Jan 2002

27.05.2011, 18:35

Ich habe mir das Script gerade noch mal angesehen.

Erstell einfach mal eine neue Klasse die von carre erbt. In dieser Klasse kannst Du dann eine neue Methode erstellen. Z.B. startRemoveTimer() In dieser kommt dann dein secondTimer Script und am Ende kannst Du per:
ActionScript:
1this.parent.removeChild(this);
den MC von der Bühne entfernen.

Dann brauchst Du auch kein Dictonary (ist ähnlich dem Array) und das Script wird überschaubarer und aufgeräumter.

Grüße.
Sebastian
JavaScript & JavaFX Freelancer || Flashhilfe @ Twitter || XING Profil
DocMix#8
Benutzerbild von DocMix
Beiträge: 53
Wohnort: Berlin
Registriert: Jul 2010

Themenautor/in

27.05.2011, 19:40

Danke für den Tip aber ich verstehe nicht ganz:
"Erstell einfach mal eine neue Klasse die von carre erbt."
den Rest ist klar!
Mein Problem bleibt: wie kann die mc's tweenen bevor ich sie lösche?
LG aus Berlin
DocMix
DocMix#9
Benutzerbild von DocMix
Beiträge: 53
Wohnort: Berlin
Registriert: Jul 2010

Themenautor/in

29.05.2011, 22:06

jetzt habe ich verstanden was du meintest,(manchmal bin ich etwas langsam) ich hatte sogar schon eine Klasse als Loader für carre, jetzt habe die Klasse so geändert daß ich darein meine Tweens packen kann! Wenn alles ausgefüht ist, kann ich es schön von der Bühne entfernen
nochmal THX!

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de