Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-07-2005, 18:08   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 7
Unhappy Bild aus MC abfragen ????

Hallo ich habe ein Frage..
wenn ein MC1 ein bestimmtes Bild in seiner Zeitleiste erreicht hat soll der andere MC2 loslaufen.
Wie realisiere ich sowas???

in worten soll die funktion so sein

wenn in MC das bild erreicht dann gehe in anderem MC zu diesem bild
Problem was ich aber habe und was mich irgendwie aufhält ist das die verschiedenen MCs alles nur instanzen eines MCs sind.

Am Ende soll es ein Button werden, der bei Mausdrüber animation abspielt und bei maus weg wieder aufhört.

Hab das mal rangehangen.
Angehängte Dateien
Dateityp: zip Rechner674.zip (3,7 KB, 7x aufgerufen)
Rechner674 ist offline   Mit Zitat antworten
Alt 13-07-2005, 21:16   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Dafür wird es mehrere Lösungsansätze geben, je nach Bedarf. Z.B.:
ActionScript:
  1. //auf der Hauptzeitleiste
  2. this.meineButtonInstanz.onRollOver = function(){
  3.    _level0.meineMCInstanz1.gotoAndPlay(1);
  4. }
  5.  
  6. this.meineButtonInstanz.onRollOUt = function(){
  7.    _level0.meineMCInstanz1.gotoAndStop(100);//wenn 100 bspw. der letzte Frame ist
  8.    _level0.meineMCInstanz2.gotoAndPlay(1);
  9. }
  Mit Zitat antworten
Alt 14-07-2005, 10:23   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 7
geht nicht...

Erst mal danke für die Antwort....

ich habs jetzt in allen erdenklichen formen ausprobiert und irgendwie will es überhaupt nicht.

Kannst das vielleicht auch erklären ??? Wäre echt nett.

Wenn du dir die file anschaust findest da drin einen button, besteht aus text hintergrund und dem balken, der wiederrum animiert werden soll sobald die maus drüber fährt.

Der MC Balken besteht aus 5 instanzen eines MCs und diese sollen, wenn maus drüber dann spiele mc des ersten Rechtecks, wenn dieser zu ende ist dann spiele Rechteck 2 usw. und wieder zum ersten Rechteck solange bis die Maus wieder wegzieht... ??? In die Richtung soll es gehen...

Danke nochmal ...
Rechner674 ist offline   Mit Zitat antworten
Alt 14-07-2005, 10:40   #4 (permalink)
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 7
Hab was hinbekommen

Also das hab ich jetzt hinbekommen.... jetzt kaufen die aber alle gleich los..

Es fehlt irgendwie das zeitversetzte

hab ich bestimmt mega umständlich gemacht

ActionScript:
  1. _root.Button.onRollOver = function() {
  2.     _root.Button.Balken.KB_01.gotoAndPlay(2);
  3.     _root.Button.Balken.KB_01.gotoAndStop(22);
  4.     _root.Button.Balken.KB_02.gotoAndPlay(2);
  5.     _root.Button.Balken.KB_02.gotoAndStop(22);
  6.     _root.Button.Balken.KB_03.gotoAndPlay(2);
  7.     _root.Button.Balken.KB_03.gotoAndStop(22);
  8.     _root.Button.Balken.KB_04.gotoAndPlay(2);
  9.     _root.Button.Balken.KB_04.gotoAndStop(22);
  10.     _root.Button.Balken.KB_05.gotoAndPlay(2);
  11.     _root.Button.Balken.KB_05.gotoAndStop(22);
  12.     _root.Button.Balken.KB_01.gotoAndPlay(2);
  13. };
  14. _root.Button.onRollOut = function() {
  15.     _root.Button.Balken.KB_01.gotoAndStop(1);
  16.     _root.Button.Balken.KB_02.gotoAndStop(1);
  17.     _root.Button.Balken.KB_03.gotoAndStop(1);
  18.     _root.Button.Balken.KB_04.gotoAndStop(1);
  19.     _root.Button.Balken.KB_05.gotoAndStop(1);
  20. };
__________________
Bin ein dummer Anfänger...

Zitat:
Lang ist der Weg durch Lehren, kurz und erfolgreich durch Beispiele.
Rechner674 ist offline   Mit Zitat antworten
Alt 14-07-2005, 10:53   #5 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Du willst also in deinem "Balken"-MC mehrere MCs zum Laufen bringen. Aber die sollen nicht gleichzeitig, sondern hintereinander abgespielt werden?

Da gibt es dann zwei Möglichkeiten: entweder auf dem letzten Frame des jeweiligen MCs den nächsten starten oder über einen onEnterFrame-Event das Ende des jeweiligen MCs ermitteln und dann den jeweils nächsten MC starten.
  Mit Zitat antworten
Alt 14-07-2005, 10:59   #6 (permalink)
Co&Bold
 
Benutzerbild von Cysign
 
Registriert seit: Nov 2004
Ort: Troisdorf (bei Köln)
Beiträge: 170
im ersten movie, das abgespielt wird, setzt du an die stelle, wo das zweite starten soll ein:
ActionScript:
  1. _root.mc2.play();
(mc2 ist der instanzname des 2. movieclips, den du natürlich an deinen film anpassen musst...)

und im zweiten setzt du ein
ActionScript:
  1. stop();
in das erste schlüsselbild, damit es nicht sofort anfängt
__________________
Friede!

Geändert von Cysign (14-07-2005 um 11:00 Uhr)
Cysign ist offline   Mit Zitat antworten
Alt 14-07-2005, 11:55   #7 (permalink)
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 7
@ agedoubleju

das mit dem onenterframe würde mir gefallen.
Wenn ich das richtig verstehe fragt dann MC2 MC1 ab ob das letzte bild schon erreicht ist ????

das hab ich probiert ... vielleicht kannst du mal ein beispiel geben...

@ Cysign

wenn ich 5 verschieden MCs hätte würde ich das auch so machen, da es aber immer der gleiche MC ist will wüsste ich nicht wie ich das anstellen. Oder hat jede instanz auch seine eigene zeitleiste... ??
__________________
Bin ein dummer Anfänger...

Zitat:
Lang ist der Weg durch Lehren, kurz und erfolgreich durch Beispiele.
Rechner674 ist offline   Mit Zitat antworten
Alt 14-07-2005, 11:58   #8 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
ActionScript:
  1. //auf der Hauptzeitleiste
  2. _global.ende = false;
  3.  
  4. this.onEnterFrame = function(){
  5.    if(_global.ende == true){
  6.       delete this.onEnterFrame;
  7.       _global.ende = false;
  8.       _level0.mc2.gotoAndPlay(2);
  9.    }
  10. }
  11.  
  12.  
  13. //auf dem letzten Frame von mc1:
  14. _global.ende = true;
  15. this.stop();
  Mit Zitat antworten
Alt 14-07-2005, 12:20   #9 (permalink)
Co&Bold
 
Benutzerbild von Cysign
 
Registriert seit: Nov 2004
Ort: Troisdorf (bei Köln)
Beiträge: 170
auf der Hauptzeitleiste:
ActionScript:
  1. i=1;
  2.  
  3. this.onLoad = function() {
  4.     _root.mc+i.play();
  5.     }

und im mc aufm ersten bild ein stop(); und auf dem letzten bild ein
ActionScript:
  1. stop();
  2. mcvariable="mc" + ++_root.i;
  3. trace(mcvariable);
  4. _root.mcvariable.play();

das trace gibt mir zwar mc2 aus... aber das fühlt sich komischerweise nich angesprochen...
__________________
Friede!

Geändert von Cysign (14-07-2005 um 12:30 Uhr)
Cysign ist offline   Mit Zitat antworten
Alt 14-07-2005, 12:40   #10 (permalink)
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 7
ach mann bin jetzt irgendwie total frustriert es geht nix mehr ...

kannst dir nicht mal mein file anschauen und das Problem fallbezogen unter die Lupe nehmen...

ich vertehe das nicht ...

finde auch keine gute erklärung die onenterframe so richtig mal erklärt...
__________________
Bin ein dummer Anfänger...

Zitat:
Lang ist der Weg durch Lehren, kurz und erfolgreich durch Beispiele.
Rechner674 ist offline   Mit Zitat antworten
Alt 14-07-2005, 14:12   #11 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!
Klick mal in der Bibliothek auf deinen "Kube_balken_MC" und nimm im letzten Frame das gotoAndPlay(2) raus. Dann klöppelst du das hier in die Hauptzeitleiste:
ActionScript:
  1. _root.button.onRollOver = function() {
  2.     var x = 1;
  3.     this.onEnterFrame = function() {
  4.         mc = this.balken["KB_0"+x];
  5.         mc.nextFrame();
  6.         if (mc._currentframe == mc._totalframes) {
  7.             mc.gotoAndStop(1);
  8.             x = x<5 ? ++x : 1;
  9.         }
  10.     };
  11. };
  12. _root.button.onRollOut = _root.button.onDragOut=function () {
  13.     delete this.onEnterFrame;
  14.     for (var x = 1; x<=5; x++) {
  15.         this.balken["KB_0"+x].gotoAndStop(1);
  16.     }
  17. };
Hoffe, ich habe richtig verstanden, was du willst...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 14-07-2005, 14:43   #12 (permalink)
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 7
Verdammt.. das ich da nicht drau gekommen bin
Danke ... jetzt muss ich mich nur noch damit beschäftigen das zu verstehen.

Besten Danke
__________________
Bin ein dummer Anfänger...

Zitat:
Lang ist der Weg durch Lehren, kurz und erfolgreich durch Beispiele.
Rechner674 ist offline   Mit Zitat antworten
Alt 14-07-2005, 14:51   #13 (permalink)
Co&Bold
 
Benutzerbild von Cysign
 
Registriert seit: Nov 2004
Ort: Troisdorf (bei Köln)
Beiträge: 170
@frager: hast du vielleicht auch noch ne ahnung, wie mein lösungsansatz funktionieren kann?
wenn ich
_root.mcvariable.play(); sage, passiert nichts.
bei _root.mc2.play(); läuft mc2.
trace ich mcvariable, erhalte ich "mc2".

mcvariable="mc"+ ++_root.i;

er wertet also die mcvariable nicht so aus, wie ich es gerne hätte.
__________________
Friede!
Cysign ist offline   Mit Zitat antworten
Alt 14-07-2005, 15:08   #14 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!
Das muss ein Objekt sein. Bei dir isses "nur" ein String:
ActionScript:
  1. mcvariable = this["mc"+ ++_root.i];
  2. trace(mcvariable);
  3. mcvariable.play();
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 14-07-2005, 15:42   #15 (permalink)
Co&Bold
 
Benutzerbild von Cysign
 
Registriert seit: Nov 2004
Ort: Troisdorf (bei Köln)
Beiträge: 170
Mehrere Instanzen eines Symbols nacheinander abspielen...

...so funktionierts:

Auf der Hauptzeitleiste Hauptzeitleiste liegt:
PHP-Code:
i=1;

this.onLoad = function() {
    
_root.mc1.play();
    } 
erster Frame im Symbol der Instanzen mc1, mc2, mc3:
PHP-Code:
stop(); 
letzter Frame im Symbol der Instanzen mc1, mc2, mc3:
PHP-Code:
stop();
++
_root.i;
//trace("mc" + _root.i);
_root["mc"+_root.i].play();
//trace("sollte jetzt eigentlich laufen"); 
__________________
Friede!
Cysign ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 20:36 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele