mc aus hauptzeitleiste ansteuern

scraddy

Grünschnabel
hallo flasher,

ich bin gerade dabei ein kleines spiel zu basteln.
jetzt bin ich bei actionscript auf mein erstes problem gestoßen, bzw. ich weiß nicht wo der fehler liegt.

ich habe ein MovieClip, das den Instanznamen: "situation_mc" hat.
dieses movieclip hat genau 5 frames mit unterschiedlichen inhalten, auf der aktionen-ebene dieses MCs ist in jedem frame ein stop(); eingefügt.

dann steht in der hauptzeitleiste im letzten frame der aktionen-ebene:

stop();
var zufallssymbol:Number = Math.ceil(Math.random()*4);
zufallssymbol = zufallssymbol + 1;
trace(zufallssymbol);
situation_mc.gotoAndStop(zufallssymbol);


Laut Ausgabe mit trace ist in der Variablen zufallssymbol auch immer schön ein Wert zwischen 2 und 5 drin, aber das bild vom MC wird nicht angezeigt, woran liegt das?

Wäre super, wenn mir das einer sagen könnte.

Viele Grüße,
Markus
www.designerzone.de
 
Hi,

probiers mal mit:
_root.situation_mc.gotoAndStop(zufallssymbol);
oder:
this.situation_mc.gotoAndStop(zufallssymbol);

Gruss
 
oh mann!

danke für den hinweis! _root oder this ist nicht nötig, aber trotzdem sinnvoll, sieht dazu auch noch professionell aus! ;-)

aber der fehler lag woanders, voll blöd eigentlich. das MC war vorher in einem Tweening, und ich habe das MC erst nachdem ich das Tweening erstellt habe benannt, folglich hatte nur das Endbild den Namen und deshalb funktionierte es nicht!

Also: Immer Instanznamen geben und dann Tweens erstellen ;-) Schon wieder was gelernt!

Danke
Bis zum nächsten Problem..
 
und schon das nächste problem:

jetzt möchte ich 4 zufallszahlen erzeugen, die im intervall von 1 bis 4 liegen (1 und 4 eingeschlossen) sprich eine zahlenreihe (einzelne werte im array) aus 4 zahlen mit ziffern von 1 - 4, die aber jedes mal neu gewürfelt wird.

Code:
var j;
var i = 1;
while(i<=4){
	var zufall:Array = new Array();
	zufall[i] = Math.ceil(Math.random()*4);
	j=1;
		while (j<i) {
		if (zufall[i] == zufall[j]) {
			j=4;
			i--;}
		j++;}
	i++;
	}
	var s=1;
	while(s<=4){
		trace(zufall[s]); s++;
		}

das wäre mein code dazu.
wenn man den mit beispielen durchgeht klappt der eigentlich ganz gut, aber beim tracen zeigt er mir für die ersten drei werte im array undefined an. wieder ein blöder fehler?
 
alles klar!

oh mann! diese kleinigkeiten auf die man da achten muss! aber der Debug-modus ist echt geil!

das array darf natürlich nicht jedes mal beim durchgehen der schleife neu initialisiert werden! *arg*

danköö, closed
 
Zurück