HILFE MC ansprechen Macht mir Probleme

cris-the-best

Erfahrenes Mitglied
Hallo,

ich will es kurz machen bei mir brennt nähmlich die Präsentation hier gleich und eine wichtige Funktion nicht.

ich muss einen MC ansprechen der pfad sieht Quasi so aus:

on (release) {

_root.mc_master.6.mc_weiter.gotoAndPlay("anleitung");


}

hab schon rausgefunden das es mit na zahl nicht geht also wenn der MC (Instanz Name) eine zahl ist denn gibt es nen Syntax error..

Ich kann aber auf die zahl nicht versuchten weil dort son Script drin ist der ein array macht.

Wie kann ich den clip noch anscprechen?


Ich danke euch jetzt schon wenn da jemand nen Geistes Blitz hat

DAAAAAANKE
 
Hallo,

bitte achte auf eine korrekte Schreibweise in deinen Beiträgen und vermeide Dialekt-Ausdrücke, da wir dieses Board möglichst leserlich halten wollen.

@topic:

Am besten wär natürlich, wenn du das Script, das diesen Array, was auch immer der mit der Namensgebung der MovieClips zu tun haben mag, erstellt, mal posten könntest.

Ansonsten könntest du mit einer for..in-Schlaufe den entsprechenden MovieClip zu finden versuchen, müsstest aber ein Kriterium / eine Egenschaft haben, die den MovieClip "einzigartig" macht:

Code:
for (var i in _root.mc_master) {
    if (_root.mc_master[i].mc_weiter && typeof(_root.mc_master[i].mc_weiter) =="movieclip") 
        _root.mc_master[i].gotoANdPlay ("anleitung");
}


gruss
 
Hallo,

Hauptsächlich spielt sich alles im letzen Frame ab.

Also im letzten "Frameteil" find ich einen MovieClip mit Instanznamen "Dock", auf dem ein englisch kommentiertes Script für den Zoom-Effekt der Navigation liegt.

Dein Codeschnipsel, dass du oben beschrieben hast, kann ich nirgends finden. Könntest du noch ein wenig genauer beschreiben, wo ich was suchen / finden / korrigieren soll?

gruss
 
OK. Sorry Wollte den Codeschnipsel nur als beispiel nutzen.


der korrekte Pfad lautet.


on (release) {

this._parent.active.gotoAndPlay("anleitung"); //damit aktiviere ich nen kleinen balken




_root.dock.5.photo_sub.active.gotoAndPlay("1"); //damit deaktiviere ich nen anderen
}



Problem wie gesagt die "5" oder die anderen Zahlen
 
Code:
on (release) {
	
	
for (var i in _root.dock) {
    if (_root.dock[i].faq_sub.active && typeof(_root.dock[i].faq_sub.active) =="movieclip") 
        _root.dock[i].faq_sub.active.gotoAndPlay("1");
}


on (press) {

	getURL("index.php?id=3","links");
	
}

Leider kein Erfolg. Habe aber auch kein Plan. Habe es so versucht ein zubauen.
 
Hallo,

noch eine Bitte:
Benutze doch bitte die Code-Highlight-Funktion: [code.]dein Code hier[/code.], einfach ohne die Punkte. Danke!

@topic:
Also ich hab auf den "dock"-MovieClip doppelgeklickt und die Instanznamen der Schaltflächen geändert (z.B. "_6" statt "6") und ich hatte keine Probleme mit referenzieren :confused:...

gruss
 
OK.

Hab ich auch versucht geht auch eigentlich!! Nur leider geht dann die "Dock" funktion nicht mehr. Schau dir die Veröffentlichte swf mal an bei dir. sobald ich die Zahl 6 oder andere ändere fällt diese aus dem Array
 
Hallo,

ja, die Variablen wollen natürlich aktualisiert sein ;).

Code auf dem "dock"-MovieClip, rechnet damit, das die MovieClips nun "_1" usw. heissen:
Code:
// hier der Dock scrip
// 
onClipEvent(load){
	_quality = "BEST";
	var margin = 4;			// tray margin
	var min = 35;			// Icon Größe für die kleineste größe 
	var max = 95;			// Icon Größe für die max Größe 
	var span = 2.5 * min;		// radius
	var spacing = min + 20;	// Icon spacing
	var n = 6
	;				// anzahl der Icons
	var speed = 0.15;

	var _MC = Math.cos;
	var _MS = Math.sin;
	var _s = max - min;
	var state = 0;
	var piSpan = Math.PI / span;
	var center = new Array();
	for(i = 1; i <= n; i++){
		this["_"+i]._y =  +120;
		center["_"+i] = (2.3 * i - n - 1) * spacing / 2.9;
	}
	tray._height =  min + 20 * margin;
	this._alpha = 0;
}

onClipEvent(enterFrame){
	if(this._alpha < 100) this._alpha += 10;
	if (state == 0 || state == 1) temp = false; else temp = true;
	if(inside) state = Math.min(1, state + 0.2); else state = Math.max(0, state - 0.2);
	if(x != _xmouse || y != _ymouse || temp) {

		var x = _xmouse;
		var y = _ymouse;
		var x1 = tray._x;
		var x2 = x1 + tray._width;

		if(!temp){
			if( x < x1 || x > x2 || Math.abs(y) > altitude ) inside = false; else inside = true;
		}

		var altitude = min + 25 * margin + _s * state;

		for(i = 1; i <= n; i++){
			lo = center["_"+i] - state * span;
			hi = center["_"+i] + state * span;

			if(x <= lo) iX = hi;	// mouse on the left, icon to the right
			if(x >= hi) iX = lo;	// mouse on the right, icon to the left

			if(x > lo && x < hi) {		// icon is influenced by mouse
				fi = piSpan * (hi - x);					 		// 0..2pi
				cfi = _MC(fi / 2);								// 1..-1
				sfi = _MS(fi) / 20;								// horizontal 
				iX = center["_"+i] - state * span * (cfi + sfi);	// centrum ± span
				iSize = _s * (1 - cfi * cfi);		 			// icon zurueck
			} 
			else iSize = 0;
			_scale = 100 * (min + state * iSize)/128;
			this["_"+i]._xscale = this["_"+i]._yscale = _scale;
			this["_"+i]._x = iX;
		}
		tray._width = this["_"+n]._x - this["_"+1]._x + this["_"+1]._width/2 + this["_"+n]._width/2 + 2 * margin;
		tray._x = this["_"+1]._x - this["_"+1]._width/2 - margin;
	}
}

Hinweis:
Auch wenn die Syntax der dynamischen Aufrufe an Arrays erinnert, handelt es sich um dynamisch generierte MovieClip-Aufrufe. Wenn du z.B. einen MovieClip mit Instanznamen "meinMC" auf der Hauptzeitleiste hast, wird folgende Bedingung erfüllt:

Code:
if (this["mein"+"MovieClip"] == this.meinMovieClip) {
     trace ("Erfüllt");
}

gruss
 
SUPER GEIL

DANKE DANKE DANKE hast mich gerettet...
Ich weiss, ich weiss mein Text ist grad nicht die Norm. Aber Ich muss dem Flash Gott eben hier danken.!

Vor allem bin ich durch den Trick mit dem "_" gestiegen den du überall mit eingebunden hast, habe also was gelernt dabei.

Also vielen Dank noch mal.

Der Cris
 
Zurück