Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-12-2005, 21:48   #1 (permalink)
Neuer User
 
Benutzerbild von brandi
 
Registriert seit: Nov 2005
Ort: Aschersleben
Beiträge: 32
For Schleife mit Array geht nicht

Ich möchte mehren MC's die gleiche Eigenschaft zuweisen.

Dafür habe ich die MC's in ein Array gepackt.

Code:
var  position= new Array("m1","m2","m3");
wenn ich nur ein Element anspreche funktioniert es gut.

Also:
HTML-Code:
_root[position[0]]._x = 300;
Wenn ich aber mit einer for Schleife alle Elemente des Array's ansprechen will geht es auf einmal nicht mehr.

Hier der komplette Code:
Code:
var  position= new Array("m1","m2","m3");

for (i=-1; i< position.length;i++);
{
	_root[position[i]]._x = 300;
};
Ich hab schon verschiedenste Varianten versucht, leider hab ich aber noch zu wenig Erfahrung mit AS.

Vielen Dank schonmal für die Hilfe
brandi ist offline   Mit Zitat antworten
Alt 22-12-2005, 21:56   #2 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 272
objecte in arrays?

was hälst du davon:
PHP-Code:
for (i=1i<AnzahlMCsi++){
this["m"+i]._x=300

mfg
Muh_Lan ist offline   Mit Zitat antworten
Alt 22-12-2005, 22:02   #3 (permalink)
Neuer User
 
Benutzerbild von brandi
 
Registriert seit: Nov 2005
Ort: Aschersleben
Beiträge: 32
Hallo Muh Lan,

danke für Deine Hilfe.

Die MC's m1-3 sind nur zum Test.
Normal haben sie andere Bezeichnungen (mc_Kontakt, mc_Bilder, mc_Geschichte, usw.)
Von daher brauch ich ein array.

Oder liege ich da falsch.


Gruss Brandi
brandi ist offline   Mit Zitat antworten
Alt 22-12-2005, 22:11   #4 (permalink)
Definitionssache
 
Benutzerbild von dburucu
 
Registriert seit: Apr 2003
Ort: Braunschweig
Beiträge: 2.433
i=0 und nicht i=-1... oder?
Code:
for (i=0; i< position.length;i++);
{
	_root[position[i]]._x = 300;
};
dburucu ist offline   Mit Zitat antworten
Alt 22-12-2005, 22:19   #5 (permalink)
Neuer User
 
Benutzerbild von brandi
 
Registriert seit: Nov 2005
Ort: Aschersleben
Beiträge: 32
Hallo dburucu,

das war auch nur n Test, weil ich nicht wusste ob die for Schleife die Null durchlaufen lässt. Da der Array ja bei Null beginnt.

Jedenfalls hatte ich auch schon i=0, und das ging auch nicht.

Ich hab einfach alles im ersten Frame der Hauptzeitleiste liegen.

Das _root verweisst doch auf die Hauptzeitleiste, und ohne die for Schleife geht es ja auch.

Ich weiss leider nicht mehr weiter.
brandi ist offline   Mit Zitat antworten
Alt 22-12-2005, 22:47   #6 (permalink)
using namespace
 
Benutzerbild von artjom
 
Registriert seit: May 2002
Ort: Hamburg underground
Beiträge: 657
Zitat:
var position= new Array("m1","m2","m3");

for (i=-1; i< position.length;i++);//<<mach dat weg
{
_root[position[i]]._x = 300;
};
na kar geht das nicht, denn die vor schleife ist nach dem semikolon beendet.
so:
PHP-Code:
var  position= new Array("m1","m2","m3");
for (
i=0iposition.length;i++)
{
    
_root[position[i]]._x 300;

gruß
__________________
artjom.com -|- Melom
Einen PC beschleunigen? Klar, mit 9,81 m/s^2!
artjom ist offline   Mit Zitat antworten
Alt 22-12-2005, 23:07   #7 (permalink)
Neuer User
 
Benutzerbild von brandi
 
Registriert seit: Nov 2005
Ort: Aschersleben
Beiträge: 32
Oh man,

rot anlauf. Ich muss noch viel lernen.

Danke artjom
brandi ist offline   Mit Zitat antworten
Alt 22-12-2005, 23:52   #8 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
Post

kannst das ganze auch optimieren
ne while schleife die rückwärts zählt geht am meisten ab
einfach mal den code in eine leere fla hauen und die traces anschauen!

PHP-Code:
//-------------------------------------------

var getTimer();
var 
position = new Array(100000);

for (
0position.lengthi++) {
    
    
//trace( position[i] );
    
}

trace(getTimer() - t);

//-------------------------------------------

var getTimer();
var 
position = new Array(100000);
var 
position.length;

while(
i--) {

    
//trace( position[i] );
    
}

trace(getTimer() - t);

//-------------------------------------------

var getTimer();
var 
position = new Array(100000);
var 
= -1;
var 
position.length;

while(
i++ < j) {

    
//trace( position[i] );
    
}

trace(getTimer() - t);

//------------------------------------------- 
cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 23-12-2005, 16:38   #9 (permalink)
Neuer User
 
Benutzerbild von brandi
 
Registriert seit: Nov 2005
Ort: Aschersleben
Beiträge: 32
Danke für die viele Hilfe.


Hi Salazar,

ich werd mich mit Deinem Skript mal auseinandersetzen.
Bin jetzt schon froh, das die erste Variante funktioniert.
Wenn ich mich durchgefuchst habe werden bestimmt noch ein paar fragen kommen.


Gruss Brandi
brandi 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 04:13 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele