Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-05-2007, 09:14   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 2
Question Mit Array-Expressionen mcs steuern (Arrays auslesen)

Folgendes:

Habe 16 Mcs im Root mit den Instanzen imc1 bis imc16.
(Diese Mcs sind noch Fakes, also ohne deren geplante Funktion.)

Die Mcs sind horizontal nebeneinander angeordnet und jeder soll später die Buchstaben A bis Z in vertikaler Anordnung beinhalten und per Maskenmodus den gewünschten Buchstaben anzeigen, also eine Art von "Airport-Display-Effekt" oder auch vergleichbar mit ner Slotmachine.

Beispiel: Klick auf Buttom "Leistungen" generiert im Display "Leistungen" von links nach rechts, also mc1 play() bis L (Bild 13, weil das erste Bild ist leer), dann mc2 play() bis E (Bild 6) usw.

Nun möchte ich, dass alles über ein AS gesteuert wird und habe mich dilletantisch ans Werk gemacht. Angenommen, Klick auf "Leistungen" steuert im Root auf folgenden Frame:

Code:
var leistungen = "LEISTUNGEN";
var counter = leistungen.length;
var startvar = 1;
this["imc"+startvar].nextFrame();
Dieses Script betrifft Bild 2 im Root, Bild 3 würde dann die var REFERENZEN beinhalten usw. In jedem Root-Bild liegen die 16 mcs.

Es bewirkt schon mal, dass mc1 startet.
var counter = leistungen.length; soll bewirken, das aus 1-10 (Anzahl Buchstaben "LEISTUNGEN") die mcs 1 bis 10 angesteuert werden.

Aus var leistungen = "LEISTUNGEN"; brauche ich jetzt wohl ein new Array, welches aus L bis N aus LEISTUNGEN Expressionen den mcs1 bis 10 zuweist und diese nacheinander zum "laufen" bringt und dann bei den jeweiligen Buchstaben stoppen lässt.

Habt ihr nen Lösungsansatz?
herewego ist offline   Mit Zitat antworten
Alt 04-05-2007, 11:43   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Habt ihr nen Lösungsansatz?
Aus dem String zuerst einmal die Buchstaben herausfiltern, bspw.:
PHP-Code:
var leistungen "LEISTUNGEN";
var 
len leistungen.length;
for(var 
i=0;i<len;i++){
   var 
letter leistungen.substr(i,1);
   
trace("letter="+letter);//Output: letter=L (etc)

Dann solltest du aus dem gefundenen Buchstaben die fortlaufende Zahl ermitteln, das geht bspw. mit den Character Code-Funktionen, bspw.
PHP-Code:
var leistungen "LEISTUNGEN";
var 
len leistungen.length;
for(var 
i=0;i<len;i++){
   var 
letter leistungen.substr(i,1);
   
trace("letter="+letter);
   var 
code leistungen.charCodeAt(i);
   
trace("code="+code);//Output: code=76 (etc)

Buchstabe "A" fängt mit dem Code 65 an, du musst dann nur noch entsprechend den Wert aufbereiten, wenn A=1 sein soll:
PHP-Code:
for(var i=1;i<27;i++){
    
this.createEmptyMovieClip("mc"+i,i);
}
var 
startwert 64;
var 
leistungen "LEISTUNGEN";
var 
len leistungen.length;
for(var 
i=0;i<len;i++){
   var 
letter leistungen.substr(i,1);
   
trace("\nletter="+letter);
   var 
code leistungen.charCodeAt(i);
   
trace("code="+code);
   
zielwert = (code-startwert);
   
trace("zielwert="+zielwert);
   
zielmc _level0["mc"+zielwert];
   
trace("zielmc="+zielmc);

  Mit Zitat antworten
Alt 04-05-2007, 12:20   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 2
Smile

Vielen Dank!

Da hat sich jemand Mühe gegeben!

Verstehe die Syntax und versuche, es umzusetzen.

Melde mich dann noch mal und verlinke das Ergebnis.
herewego 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 22:00 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele