Mehrere MovieClips mit einem Button steuern?!

IlllyMilly

Mitglied
Nabend Ladies und Gentlemen,

nachdem ich vergeblich die Suche benutzt habe, in der Hoffnug für mein Anliegen eine Antwort zu finden, stellte ich zu meinem Bedauern fest, dass es dafür wohlmöglich keine Antwort gibt.

Daher wende ich mich mit einem eigenen Thread an euch.


Folgendes.

Ich hab ein Movieclip(Instanzname: turntable), in diesem MC liegen auf Frame 1-3 jeweils ein weiterer MovieClip(tstart, tplay, tend) mit einer Animation drin. In jedem Frame habe ich ein stop(); drin.

Im MC "turn" liegt auf dem 2. Layer ebenfalls im 1. Frame wiederum ein MC in dem der Button liegt.

Nun möchte ich mit dem Button alle drei MCs (tstart, tplay und tend) abspielen.

Um das genauer zu verdeutlichen. Es handelt sich bei der Animation um ein DJ-Turntable mit der Nadel. der Button der das Turntable steuern soll, ist mit einer Sounddatei verknüpft, so dass wenn ich den Button klicke, die Nadel sich zurück bewegen soll, dann soll die Nadel wieder nach vorne, die Musik soll anfangen zu spielen, und das turntable soll sich drehen... (also die Fläche wo die Schallplatte drauf liegt)

Hierarchisch:

Turntable - Layer 1
- Frame 1 -> Nadel beweg sich auf Schallplatte(tstart)
- Frame 2 -> Schallplatte fängt sich an zu drehen(tplay)
- Frame 3 -> Nadel bewegt sich wieder zurück (tend)
Turntable - Layer 2
- MovieClip - Mit Button und Sound
- Bei klick auf Button soll Frame 3(tend) gespielt werden
- Nachdem (end) abgespielt wurde soll es rüberwechseln zu MC(tstart)
Musik fängt an zu spielen und danach soll im Loop Frame 2 - MC(tplay) gespielt werden.


Ich habe das versucht mit folgendem AS-Code auf dem Button zu lösen, allerdings spielt er bei mir nur den MC-Start ab, die anderen MCs werden nicht berücksichtigt!

Code:
on (release) {
	if (musik != "1")
	{
		stopAllSounds ();
		gotoAndStop (2);
		musik = "1";
	}
}
on (release) {
	_root.turntable.tend.play();
	if (_root.turntable.tend._currentframe + 11){
		removeMovieClip(_root.turntable.end);
	}
	_root.turntable.tstart.play();
	if (_root.turntable.tstart._currentframe + 5) {
		removeMovieClip(_root.turntable.tstart);
	}
	_root.turntable.tplay.play();
}

wäre für Hilfe sehr dankbar... Falls ich mich dennoch unklar ausgedrückt hab, kann ich gern auch die .fla beifügen...

Lieben Gruß..

Illy
 
häng doch bitte mal eine FLA an oder schick mir die per PM, falls du die nicht öffentlich posten magst ;)

dann lässt sich leichter helfen ;)

mfg
 
Hallo,

Das ganze ist zwar nicht sehr elegant gelöst, aber ich vermute mal, dass du Anfängerin bist ;)

Also ich habe mal reingesehen.

Füg mal folgenden Code in dein Button Script ein (lösch den alten Code vorher):

PHP:
on (release) {
	gotoAndStop(1);
	musik = "0";

	_root.turntable.gotoAndStop(3);
	_root.turntable.turntableend.play();
	_root.turntable.onEnterFrame = function() {
		if (_root.turntable.turnend._currentFrame == 73) {
			_root.turntable.gotoAndStop(1);
			_root.turntable.turnstart.play();
			
		}
		if (_root.turntable.turnstart._currentFrame == 11) {
				_root.turntable.gotoAndStop(2);
				_root.turntable.turnplay.play();
				delete _root.turntable.onEnterFrame;
			}
	};
}


Dein Fehler war: Du musst zuerst in den richtigen Frame springen, um den Instanzname auch ansprechen zu können,

z.B. musst du erst mit _root.turntable.gotoAndStop(1); in Frame 1 springen um turnstart ansprechen zu können ;)



Hoffe das hat dir geholfen.

Mfg
 
Hi... ja das mit der Anfängerin, hast du Recht... Aber man bemüht sich ja stets mehr und mehr zu lernen;)

Fand ich super lieb... vielen Dank für deine Hilfe

liebe grüße..

Illy
 
Man ist immer bemüht anderen zu helfen ;)

Ich für meinen Teil helfe gerne, denn eine Hand wäscht die andere, gell.

Denn mal noch viel Glück bei deinem Vorhaben :-D


Liebe Grüße
 
Och ich denke nicht, dass ich hier der Einzige bin der so ist. Mir wurde hier auch schon oft geholfen ...

mfg
 
Zurück