if?

harrry

Erfahrenes Mitglied
Hallo, ich hätte mal eine prinzipielle Frage, die mich zwar als Nichtwisser outet, aber was solls.

Nehmen wir an, ich habe einen MC, in dem sich im ersten Bild ein "Stopp" befindet, im zweiten Bild der Bildbezeichner "come", gefolgt von einer Aufbau-Animation. An deren Ende ist wieder ein "Stopp" eingefügt. Dann der Bildbezeichner "go", gefolgt von einer Abbau-Animation. Am Ende derselben das letzte "Stopp".

3 Instanzen dieses MCs sind, verschachtelt in einem weiteren, in meinem Film: MC1, MC2 und MC3.

Über Buttons startet der User einen der drei MCs (ich weiss natürlich nicht, welchen). Der spielt die Aufbauanimation ab und bleibt natürlich beim zweiten der 3 Stopps stehen. Soweit so gut.

Nun möchte ich, wenn auf einen anderen Button (einen vierten), geklickt wird, dass der vorhin angewählte MC (etwa MC2) die Abbau-Animation spielt. Die anderen beiden MC-Instanzen (alsoMC1 und MC3) sollen sich aber nicht bewegen.

Wie sag ich das per Actionscript? Anders gefragt: kann ich per AS abfragen, welcher der 3 Clips beim zweiten Stopp steht und diesen gezielt und exklusiv ansteuern?

Geht ganz sicher, nur fehlt mir halt der Durchblick.
 
Hi,

ganz prinzipiell ist das eine philosophische Frage: du kannst dich entscheiden, ob die Struktur deines Films so angelegt ist, das der Film weiß, was in ihm abgeht, oder ob er immer erst nachschauen muss. Die von dir angedachte Lösung ist mehr so Typ zerstreuter Professor. Besser ist es, das ganze von Anfang an zu abstrahieren....

Also solltest du deine Buttons nicht direkt den Befehl geben lassen, sondern eine weiter Abstraktionsschicht einziehen:
PHP:
deinButton1.onPress = function(){
  NaviFunktion(1);
}
deinButton2.onPress = function(){
  NaviFunktion(2);
}
deinButton3.onPress = function(){
  NaviFunktion(3);
}
deinButton4.onPress = function(){
  if ( _root.Aktuell != undefined) {
   AusblendFunktion();
  }
}
NaviFunktion = function(MCnummer){
   Ziel = eval('DeinMC' + MCnummer);
   Ziel.play();
  _root.Aktuell = MCnummer;
}
AusblendFunktion = function(){
   Ziel = eval('DeinMC' +  _root.Aktuell);
   Ziel.play();
  _root.Aktuell = undefined;
}

dabei müssen deine 3 Instanzen deines Mcs 'DeinMC1' , 'DeinMC2' , 'DeinMC3' heissen

B
 
Hallo,

bitte um Entschuldigung, dass ich erst jetzt auf deine Antwort reagiere, aber mich haben plötzliche Dringlichenkeiten meines Real-Berufs kurzfristig von der Flasherei abgehalten.

Vielen Dank für deine Ausführungen, leider sind sie mir in dieser Kürze einfach zu hoch.

Abstraktionsschicht? Kennt jemand vielleicht ein Tutorial, das mir diesbezüglich Grundsätzliches erhellen könnte?

Thx, Harry
 
Zurück