Kann mein Problem nicht in ein paar Worten erklären! sry

hhjjppww

Mitglied
Hallo,

erstmal sorry, dass ich keinen aussagekräftigen Betreff gewählt habe. Aber ich hab wirklich absolut keine Ahnung, wie ich meine Problem in ein paar Wörtern erklären kann!

Also hier mein Problem:

Am besten schaut ihr euch mal an, was ich überhaupt genau möchte:
http://hjpw.hj.funpic.de/test.html

Wie Ihr seht, verschiebt sich die Stadtkarte entsprechend, wenn man auf die Pfeile klickt.
Und wie Ihr auch seht, wandern die roten Balken (die Straßen bedecken) mit. SO nun habe ich folgendes Problem:
Bisher habe ich die Straßenbalken immer per Name angesprochen.
Aber kann ich das irgendwie mit einer Schleife zusammenfassen?
Sonst wird der ActionScript-Code ewig lang bei z.B. 100 Straßenbalken.

Hier ist der momentane Code um mich etwas besser zu verstehen!
Die ist der Code, der bei dem Dreieck ganz oben links in der Ecke steht:

onClipEvent (mouseDown) {
if (this.hitTest(_root._xmouse,_root._ymouse,true)) {
open = true;
}
}

onClipEvent (mouseUp) {
open = false;
}

onClipEvent (enterFrame) {
if (open) {
_root.test._x += 5;
_root.test._y += 5;
_root.strasse1._x += 5;
_root.strasse1._y += 5;
_root.strasse2._x += 5;
_root.strasse2._y += 5;
}
}



Wie Ihr seht habe ich das bis jetzt gelöst jeden Straßenbalken ("strasse1" und "strasse2") einzeln anzusprechen doch wenn ich nachher 100 Straßenbalken habe, wäre das dumme Schreibarbeit. So nun habe ich gerade erst angefangen mit Flash zu arbeiten und wollte wissen wie man das hier am besten mit einer Schleife lösen kann!

Vielen Dank im Vorraus!
 
Hi hhjjppww,

am besten legt du ein Array an, mit dem
kannst du dann alle deine Straßennamen
durchgehen, wenn diese entsprechend
benannt worden sind.

PHP:
for (i=1, i<10, i++){
_root.strasse[i]._x += 5;
_root.strasse[i]._y += 5;
}
so ungefähr sähe z.B. eine solche
Schleife aus, die die strassen von
1 bis 10 bewegen würde.
 
Hallo,

vielen Dank für deine schnelle Antwort.

Aber wie meinst du das mit dem Array? Wie soll ich das genau anlegen?
Denn der Code, den du gepostet hast, reicht nicht aus. Das funktioniert noch nicht!

Die ganzen Straßen (MovieClips) heißen ja alle "strasse" und dann eine Zahl.
Kann man nicht eine Schleife bauen die dann jedes Mal einfach die Zahl im Namen ändert?
 
Genau, deine MC's heissen ja alle strasse1,
strasse2, strasse3 usw.

du fügst einfach folgende Schleife ein und
die Schleife geht dann alle Nummern durch:
PHP:
this.onEnterFrame = function() {
	for (i=1; i<10; i++){
_root["strasse"+i]._x += 1;
_root["strasse"+i]._y += 1;
}   
	}
 
Klasse, danke, es funktioniert. Da muss aber auch mal einer drauf komm, dass es so geht:
_root["strasse"+i]._x += 1

Ich hätte z.B. nicht die eckigen Klammern gesetzt und hinter _root hätte ich auch nen Punkt gesetzt. Naja egal, hauptsache es geht! Dankeschön nochmals! :)
 
Zurück