Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-02-2005, 18:52   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 76
MovieClips dynamisch erstellen und ansprechen

Hallo!!!
Ich habe zwar schon ähnliche Beiträge gesehen, komme aber trotzdem nicht auf die Lösung meines Problems.

In einer onClipEvent(load)-Anweisung lade ich dynamisch eine Anzahl von mc's auf die Bühnein einen bereits vorhandenen, aber leeren mc "Buttons":
PHP-Code:
if (x<_global.number_steps){
_parent.Buttons.attachMovie("Schritt","Schritt"+x,x+1);
_parent.Buttons['Schritt'+x]._x x*76.1;
_parent.Buttons['Schritt'+x]._y 0;
_parent.Buttons['Schritt'+x].SchrittNummer.text x+1;    

Das funktioniert auch....
Mein Problem liebt darin, die einzelnen "Schritte" über "MouseOver" oder ähnliches in einer onClipEvent(enterFrame)-Funktion anzusprechen & zu veranlassen, dass der mc "Schritt" in seinen Frame 2 springt.
Ich hatte schon versucht eine ID zuzuweisen, das hat aber auch nicht optimal funktioniert...

Über 'nen Tipp würde ich mich sehr freuen!
Vielen Dank!
kerstin_mi
kerstin_mi ist offline   Mit Zitat antworten
Alt 08-02-2005, 21:13   #2 (permalink)
hobbyflasher
 
Benutzerbild von lasic+
 
Registriert seit: Jun 2003
Ort: NRW
Beiträge: 229
wenn ich dich richtig verstehe, willste dass deine "Schritte" quasi als Buttons aggieren. Wenn ja, dann geht es folgendermaßen:

PHP-Code:
if (x<_global.number_steps){
  
_parent.Buttons.attachMovie("Schritt","Schritt"+x,x+1);
  
_parent.Buttons['Schritt'+x]._x x*76.1;
  
_parent.Buttons['Schritt'+x]._y 0;
  
_parent.Buttons['Schritt'+x].SchrittNummer.text x+1;    
  
_parent.Buttons['Schritt'+x].onRelease = function()
  {
        
hier kommt das was beim klick passieren sollgeht auch auf rollOver
  
}

hoffe, dich richtig verstanden zu haben
__________________
gruß lasic+
lasic+ ist offline   Mit Zitat antworten
Alt 09-02-2005, 08:44   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 76
Danke für die Antwort!

Tut mir Leid, aber wahrscheinlich habe ich mich nicht richtig ausgedrückt...
Mein Problem ist, dass ich die einzelnen Schritte in der Release-Funktion nicht dynamisch über eine For-Schleife ansprechen kann.
Folgendes Skript bewirkt, dass bei onRelease bei jedem "Schritt" "Schritt5" erscheint, außerdem geht der jeweilige "Schritt" nicht in den Frame 2, wie gewollt.

PHP-Code:
if (x<_global.number_steps){    
     
_parent.Buttons.attachMovie("Schritt","Schritt"+x,x+1);     
     
_parent.Buttons['Schritt'+x]._x x*76.1;     
     
_parent.Buttons['Schritt'+x]._y 0;     
     
_parent.Buttons['Schritt'+x].SchrittNummer.text x+1;         
     
_parent.Buttons['Schritt'+x].onRelease = function()     {           
          
//hier kommt das was beim klick passieren soll, geht auch auf rollOver  
          
_parent.Buttons['Schritt'+x].gotoAndPlay(2);
          
trace("Schritt"+x);  
     }   

Spreche ich die einzelnen Schritte aber direkt über "Schritt0", "Schritt1", etc. an, funktioniert alles. Da ich mein Skript aber dynamisch gestalltn will, ist das nicht sinnvoll.
Es muss eine Möglichkeit geben, über eine Id die "Schritte" anzusprechen. Ich habe dazu aber noch keine funktionierende Lösung gefunden.
Danke an alle, die mir weiterhelfen wollen!
kerstin_mi ist offline   Mit Zitat antworten
Alt 09-02-2005, 10:52   #4 (permalink)
hobbyflasher
 
Benutzerbild von lasic+
 
Registriert seit: Jun 2003
Ort: NRW
Beiträge: 229
Hi, nach dieser Implementierung kann ich dir leider nicht weiterhelfen, ich blicke da ehrlich gesagt nicht durch, cih würde das aber von anfang an in einer Schleife machen, diese Schleife kannste in eine Funktion reinpacj´ken und bei bedarf ausführen.

Angenommen, du hasst ein Movie namens Button in der Bibliothek, da ist jetzt nur das Textfeld drin, wo du später dynamisch was reinschreiben willst. Nun machste auf einer neuen ebene ein transparentes MovieClip in der größe des Textfeldes. Das dient später dem Bereich, auf das geklickt, gerollOvered usw. werden kann. Diesem MC gibste einen Instanznamen.

Nun geht es in die Schleife rein:

PHP-Code:
for (var 1x<_global.number_stepsx++) {
     
_parent.Buttons.attachMovie("Schritt","Schritt"+x,x+1);
     
_parent.Buttons['Schritt'+x].hitArea _parent.Buttons['Schritt'+x].mcZumDruecken//das hatte ich gestern vergessen, sorry. Das ist das von dir erstellte MC in der ButtonMovie
     
_parent.Buttons["Schritt"+x]._x x*76.1;     
     
_parent.Buttons["Schritt"+x]._y 0;     
     
_parent.Buttons["Schritt"+x].SchrittNummer.text x+1;         
     
_parent.Buttons["Schritt"+x].onRelease = function()     
     {
           
_parent.Buttons['Schritt'+x].gotoAndPlay(2);
     }

Das sollte eigentlich funktionieren, habe sowas ähnliches, also ein Menü so realisiert und es klapt wunderbar....

Hoffe das klapt, sonst bin ich auch mit meinem Latein am Ende...

Gruß lasic+
__________________
gruß lasic+
lasic+ ist offline   Mit Zitat antworten
Alt 09-02-2005, 16:04   #5 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 76
Es funktioniert!

Habe nun die Anweisungen für RollOver in eine separate Funktion gesteckt, der ich die ID des jeweiligen Buttons übergebe. So funktionierts!

PHP-Code:
for (var y=0;_global.number_steps;y++){
              
_parent.Buttons['Schritt'+y].id y;
              
_parent.Buttons['Schritt'+y].onRollOver = function(){ 
                 
darueber(this.id);
              } 
 
}      
function 
darueber(i){
          
_parent.Buttons['Schritt'+i].gotoAndPlay(2);

Danke für den Tipp!
kerstin_mi ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 01:41 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele