Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-07-2005, 16:06   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 10
Wie kann ich Hauptbühne ansteueren aus MC

Hi

Ich bin noch kein Flash Experte. Ich habe mir ein MC mit 2 Buttons mit einem Effekt gebastelt. Mit den 2 Buttons steuere ich normal die Funktion btn_play oder btn_stop an. Da ich ich nun den MC auf die Hauptbühne geholt habe funktioniert es nicht mehr. Nun zu meiner Frage? Wie kann ich aus dem MC auf die Hauptbühne die Funktion ansteueren?

Die Button haben die Instanznamen btn_stop und btn_play

ActionScript:
  1. btn_play.onRelease = function () {
  2.         this._parent.sound_mc.song_starten(songfiles[song_nr],songnamen[song_nr]);
  3. }
  4.  
  5. btn_stop.onRelease = function() {
  6.         this._parent.sound_mc.sound_obj.stop();
  7. }

gruss
b0li
b0li ist offline   Mit Zitat antworten
Alt 14-07-2005, 16:09   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!
Bisschen wenig Code... Du könntest die Funktionen global machen, oder probiers mal mit einem 2ten _parent:
ActionScript:
  1. btn_play.onRelease = function () {
  2.         this._parent._parent.sound_mc.song_starten(songfiles[song_nr],songnamen[song_nr]);
  3. }
  4.  
  5. btn_stop.onRelease = function() {
  6.         this._parent._parent.sound_mc.sound_obj.stop();
  7. }
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 14-07-2005, 16:13   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 10
Hier mal der ganze Code

ActionScript:
  1. stop();//film anhalten
  2. songliste = new XML();//neues XML Objekt
  3. songliste.ignoreWhite=true;//Leerzeichen ignorieren
  4. songliste.onLoad = function (success) {//onLoad function (wird ausgeführt, wenn die daten geladen werden)
  5.         if(success) {//wenn das laden erfolgreich war
  6.                 //arrays erstellen
  7.                 _global.songnamen = [];
  8.                 _global.songfiles = [];
  9.                 for (var i=0; i<songliste.firstChild.childNodes.length; i++) {//für alle Elemente in der XMLfile
  10.                         //Die attribute auslesen und in die Arrays packen
  11.                         _global.songnamen = songliste.firstChild.childNodes[i].attributes.name;
  12.                         _global.songfiles[i] = songliste.firstChild.childNodes[i].attributes.file;
  13.                         trace(songnamen[i]+"  "+songfiles[i]);//überprüfen, ob wirklich die Daten richtig übergeben wurden
  14.                 }
  15.                 _root.createEmptyMovieClip("sound_mc",1);
  16.                 _root.sound_mc.sound_obj = new Sound();
  17.                 _global.song_nr = random(songfiles.length); // per Zufall einen Song auswählen
  18.                 _root.sound_mc.song_starten(songfiles[song_nr],songnamen[song_nr]); // song, der grade per Zufall ausgewählt wurde starten
  19.         } else {anz.text="Fehler beim Laden der XML datei"}//falls ein Fehler auftritt beim Laden
  20. }
  21.  
  22. MovieClip.prototype.song_starten = function (file, name) {
  23.         this.sound_obj.loadSound(file,true)//true steht hier für streaming=an
  24.         this.onEnterFrame = function () {//das onEnterFrame Ereignis
  25.                 if(this.sound_obj.position>0) {//wenn der Sound startet
  26.                         delete this.onEnterFrame; // das onEnterFrame Ereignis löschen
  27.                         this._parent.anz.text=name; //name wurde als parameter it übergeben
  28.                 } else {
  29.                         this._parent.anz.text="loading..." //this._parent heißt soviel wie: dieser_mc_hier.die_übergeordnete_instanz dort liegt nämlich das textfeld.
  30.                 }
  31.         }
  32.         this.sound_obj.onSoundComplete = function () {//wenn der sound fertig abgespielt wurde
  33.                 (song_nr==songfiles.length-1)? _global.song_nr=0 : _global.song_nr++;//nächsten Song auswählen (-1 da song_nr bei 0 anfäng)
  34.                 _root.sound_mc.song_starten(songfiles[song_nr],songnamen[song_nr]);//nächsten Song starten
  35.         }
  36. }
  37.  
  38. btn_play.onRelease = function () {
  39.         this._parent._parent.sound_mc.song_starten(songfiles[song_nr],songnamen[song_nr]);//aktuell ausgewählten Song starten
  40. }
  41. btn_stop.onRelease = function() {
  42.         this._parent._parent.sound_mc.sound_obj.stop(); //Wiedergabe stoppen
  43. }
  44.  
  45. songliste.load("flash/songlist.xml");//Liste laden
  46.  
b0li ist offline   Mit Zitat antworten
Alt 14-07-2005, 16:21   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Na gut, dann nimm halt _root (das reimt sich sogar )
ActionScript:
  1. btn_play.onRelease = function () {
  2.         _root.sound_mc.song_starten(songfil  es[song_nr],songnamen[song_nr]);//aktuell ausgewählten Song starten
  3. }
  4. btn_stop.onRelease = function() {
  5.        _root.sound_mc.sound_obj.stop(); //Wiedergabe stoppen
  6. }
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 15-07-2005, 07:44   #5 (permalink)
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 10
des geht a net
wenn ich den button auf die hauptbühne schmeiss dann geht es ??? wie kann das sein. man muss doch aus einem mc eine funktion ansteuern können...

asp,php und jsp sind da schon viel verständlicher

wäre supa wenn jemand eine lösung hätte

gruss
b0li
b0li ist offline   Mit Zitat antworten
Alt 15-07-2005, 08:11   #6 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Müsste aber gehen ( der letzte Script von Der Frager ), da nach Deinem obigen geposteten Script der mc "sound_mc" mit dieser Anweisung "_root.createEmptyMovieClip("sound_mc",1);" auf der "_root" angelegt wird.
__________________
ERROR: Signature is too large
rendner[i] 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 15:09 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele