Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-05-2007, 12:36   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 102
Instanznamen dynamisch zuweisen

Hallo,
ich habe derzeit ein Skript, dass onRelease folgendes ausführt:
PHP-Code:
            thumbnails.img0_btn.inaktiv._alpha 100;
            
thumbnails.img1_btn.inaktiv._alpha 100;
            
thumbnails.img2_btn.inaktiv._alpha 100;
            
thumbnails.img3_btn.inaktiv._alpha 100;
            
thumbnails.img4_btn.inaktiv._alpha 100;
            
thumbnails.img5_btn.inaktiv._alpha 100;
            
thumbnails.img6_btn.inaktiv._alpha 100;
            
thumbnails.img7_btn.inaktiv._alpha 100;
            
thumbnails.img8_btn.inaktiv._alpha 100;
            
thumbnails.img9_btn.inaktiv._alpha 100;
            
thumbnails.img10_btn.inaktiv._alpha 100;
            
thumbnails.img11_btn.inaktiv._alpha 100;
            
thumbnails.img12_btn.inaktiv._alpha 100;
            
thumbnails.img13_btn.inaktiv._alpha 100;
            
thumbnails.img14_btn.inaktiv._alpha 100;
            
thumbnails.img15_btn.inaktiv._alpha 100
Nun finde ich es etwas blöd, dass ich für alle 15 thumbnails "manuell" die Verdunkelung (= die Instanz "inaktiv") anschlaten muss. Deshalb dachte ich, dass ich folgendes schreiben könnte:
PHP-Code:
for ( var 016i++) {
     var 
thumb "img"+i+"_btn";
     
thumbnails.thumb.inaktiv._alpha 100;

Leider passiert nichts
Wenn ich testweise in der for-Schleife "thumbnails.thumb.inaktiv._alpha = 100" gegen z.B. thumbnails.img0_btn.inaktiv._alpha = 100 austausche, dann geht es. Also an der Adressierung hängt es nicht.
Kann mir jemand eine Lösung vorschlagen, mit der ich mir die 15 codezeilen im ersten Bsp. sparen kann?!

Danke

Björn
Björn L. ist offline   Mit Zitat antworten
Alt 19-05-2007, 12:37   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
PHP-Code:
thumbnails["img"+i+"_btn"].inaktiv._alpha 100
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++

Geändert von Der Frager (19-05-2007 um 12:39 Uhr)
Der Frager ist offline   Mit Zitat antworten
Alt 19-05-2007, 12:44   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 102
Danke!
ich hatte beim Rumprobieren auch mal

thumbnails.["img"+i+"_btn"].inaktiv._alpha = 100;

Nur Dumm, wenn man nicht schreiben kann und zu viele Punke setzt...
Björn L. ist offline   Mit Zitat antworten
Alt 01-12-2007, 17:41   #4 (permalink)
Neuer User
 
Registriert seit: Jan 2005
Ort: Hannover
Beiträge: 17
hallo,
ich hab da ein ähnliches Problem:
Ich habe 10 Movieclips (Name: "mc_pfeil0" bis "mc_pfeil10"), die jeweils einen bestimmten Rotationsgrad zugewiesen bekommen sollen, der in dem Array "WR" steht. Aber irgendwie klappt das nicht, die einzelnen Instanzen anzusprechen...

PHP-Code:
WR = new Array(10,5,5,5,45,10,100,354,45,90);

        for (
i=0i<=9i++) {
    
mc_pfeil+[i]._rotation mc_pfeil+[i]._rotation+WR[i];

    } 
astra ist offline   Mit Zitat antworten
Alt 02-12-2007, 09:49   #5 (permalink)
hilft gerne...
 
Registriert seit: Feb 2007
Ort: Carlsberg
Beiträge: 416
So ich habe dein Problem mal gelöst.

Datei hängt an...
Angehängte Dateien
Dateityp: rar files.rar (3,7 KB, 5x aufgerufen)
__________________
MfG Jan

Meine 2 besten Freunde: Flash-Hilfe und die Foren-Suche =)
McMannus ist offline   Mit Zitat antworten
Alt 02-12-2007, 15:34   #6 (permalink)
Neuer User
 
Registriert seit: Jan 2005
Ort: Hannover
Beiträge: 17
hey, das ist nett!!
Leider kann ich die Datei nicht öffen. Wahrscheinlich hast du die Datei in einer höheren Version als Flash MX 2004 gespeichert??
astra ist offline   Mit Zitat antworten
Alt 02-12-2007, 15:42   #7 (permalink)
hilft gerne...
 
Registriert seit: Feb 2007
Ort: Carlsberg
Beiträge: 416
ooohja sorry
Angehängte Dateien
Dateityp: rar files.rar (5,4 KB, 4x aufgerufen)
__________________
MfG Jan

Meine 2 besten Freunde: Flash-Hilfe und die Foren-Suche =)
McMannus ist offline   Mit Zitat antworten
Alt 02-12-2007, 16:00   #8 (permalink)
Neuer User
 
Registriert seit: Jan 2005
Ort: Hannover
Beiträge: 17
Vielen Dank!! das ist supernett!
Ich blicke zwar noch nicht 100% durch bei dem Skript, aber macht ja nichts, learning by doing...
Danke!
astra ist offline   Mit Zitat antworten
Alt 02-12-2007, 16:17   #9 (permalink)
hilft gerne...
 
Registriert seit: Feb 2007
Ort: Carlsberg
Beiträge: 416
So, hab den Code mal kommentiert und extrahiert:
ActionScript:
  1. xwert = 0; //Das ist der Anfangs x-Wert da man den xwert der in der SChleife benutzt wird ja initialisieren muss
  2. for (i=0;i<=9;i++) {
  3.     //Hiermit wird das Symbol 1 auf die Bühne gezogen und nummeriert
  4.     var mc = _root.attachMovie("Symbol 1","mc_pfeil"+i,_root.getNextHighestDepth())
  5.     mc._x = xwert;
  6.     //Damit nicht alle übereinander sind, sind sie immer um 50 Pixel versetzt
  7.     xwert+=50;
  8.     }
  9.  
  10. WR = new Array(10,5,5,5,45,10,100,354,45,90); //Dein Rotations Array
  11.  
  12. for (i=0; i<=9; i++) {
  13.     //mc einfach als platzhalter für den jeweiligen MovieClip benutzen
  14.     var mc = this["mc_pfeil"+i];
  15.     //Rotation-Wert aus dem Array dem jeweiligen MovieClip zuordnen
  16.     mc._rotation += WR[i];
  17.     trace("mc_pfeil " + i + ": " + mc._rotation);
  18. }
__________________
MfG Jan

Meine 2 besten Freunde: Flash-Hilfe und die Foren-Suche =)
McMannus ist offline   Mit Zitat antworten
Alt 02-12-2007, 16:37   #10 (permalink)
CodeGecko
 
Benutzerbild von hellslawyer
 
Registriert seit: Aug 2007
Ort: Hagen
Beiträge: 1.242
Das kann man natürlich auch alles in einem Aufwasch machen :
ActionScript:
  1. WR = new Array(10,5,5,5,45,10,100,354,45,90); //Dein Rotations Array
  2. xwert = 0; //Das ist der Anfangs x-Wert da man den xwert der in der SChleife benutzt wird ja initialisieren muss
  3. for (i=0;i<=9;i++) {
  4.     //Hiermit wird das Symbol 1 auf die Bühne gezogen und nummeriert
  5.     var mc = _root.attachMovie("Symbol 1","mc_pfeil"+i,_root.getNextHighestDepth())
  6.     mc._x = xwert;
  7.     //Damit nicht alle übereinander sind, sind sie immer um 50 Pixel versetzt
  8.     xwert+=50;
  9.     //Rotation-Wert aus dem Array dem jeweiligen MovieClip zuordnen
  10.     mc._rotation += WR[i];
  11.     trace("mc_pfeil " + i + ": " + mc._rotation);
  12.     }
__________________
Grütze Reinhart

XING || Simple Flash-Filter-Generator || DateChooser (AS3)
MovieClipLoader-Example (AS2) || PreloaderClass (AS2) || Framechecker-Component (AS2)

Bitte keine Flashfragen per PN oder ICQ. Dafür ist das Forum da.
hellslawyer ist offline   Mit Zitat antworten
Alt 02-12-2007, 16:41   #11 (permalink)
hilft gerne...
 
Registriert seit: Feb 2007
Ort: Carlsberg
Beiträge: 416
jop kla, aber ich wollte das auf die Bühne ziehen nochmal extra schreiben, da das ja ursprünglich nix mit dem Problem zu tun hatte
__________________
MfG Jan

Meine 2 besten Freunde: Flash-Hilfe und die Foren-Suche =)
McMannus ist offline   Mit Zitat antworten
Alt 02-12-2007, 17:07   #12 (permalink)
Neuer User
 
Registriert seit: Jan 2005
Ort: Hannover
Beiträge: 17
aah, sehr cool! Doch, das mit dem "attachMovie" und auch mit der X-Position des mc kann ich zufällig auch sehr gut gebrauchen Hach, dieses Forum ist Gold wert, hab wieder was gelernt
Schönen Abend noch, Euch!!
astra ist offline   Mit Zitat antworten
Alt 08-12-2007, 20:40   #13 (permalink)
Neuer User
 
Registriert seit: Jan 2005
Ort: Hannover
Beiträge: 17
Ich brauche nochmal eure Hilfe...

Guten Abend zusammen,
Also, folgendes funktioniert super bei mir: in einer verschachtelten Schleife werden 300 mcs („mc_pfeil*“) auf den Bildschirm geladen, und zwar 15 Reihen á 20 mc´s.
Diese bekommen jeweils einen bestimmten Rotationsgrad zugewiesen, der aus einem Array ausgelesen wird.

Nun will ich aber ein paar Bilder später den mc´s eine neue Rotation zuweisen, aus einem anderen Array.

Das ganze soll übrigens mindestens fünf Mal geschehen.

Hier der funktionierende Code im ersten Bild:
PHP-Code:
xwert 0;
ywert 0;

for (
k=0;k<=14;k++) {
    
ywert=k*40 //neue Zeile anfangen
    
xwert=0//X-Koordinate wieder auf Null da neue Zeile
    
for (i=0;i<=19;i++) {
        var 
mc _root.attachMovie("Symbol 1","mc_pfeil"+(i+k*20),_root.getNextHighestDepth());
        
xwert+=40;
        
mc._x xwert;
        
mc._y ywert;
        
mc._rotation Windrichtungarray[(i+k*20)];
        }
    } 
Und hier der Code ein paar Bilder später, der aber anscheinend nicht funktioniert, denn es verändern sich nur die Pfeile der ersten Zeile…

PHP-Code:
for (k=0;k<=14;k++) {

    for (
i=0;i<=19;i++) {
        var 
mc this["mc_pfeil"+i]; 
        
mc._rotation Windrichtungarray2[(i+k*20)];
        }
    }
stop(); 
Würd mich über hilfreiche Hinweise freuen...!
astra ist offline   Mit Zitat antworten
Alt 08-12-2007, 20:53   #14 (permalink)
Neuer User
 
Registriert seit: Jan 2005
Ort: Hannover
Beiträge: 17
Haaaalt, hab den Fehler schon selbst gefunden! Hatte wohl echt n Brett vorm Kopf vorhin:
im zweiten Skript muss stehen:

var mc = this["mc_pfeil"+(i+k*20)];

schönen abend noch!
astra 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 16:41 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele