Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-08-2002, 14:56   #1 (permalink)
jat
Neuer User
 
Registriert seit: Aug 2002
Ort: Hamburg
Beiträge: 8
Local Connection Object Problem

hallo,

ich habe ein problem mit dem local connection object.
auf einer html-seite habe ich z.B. 10 buttons des gleichen flash films, die alle jeweils einen mp3 sound abspielen. im object/embed tag hat jeder flash film eine eigene ID mitbekommen, die nachher für die kommunikation wichtig ist.

wenn der user auf den button klickt, wird der jeweilige sound gestreamt. nun will ich, dass beim klick auf einen anderen button, der zuerst geklickte, dessen sound ja noch läuft eine reset nachricht bekommt, damit er anhält und wieder in frame 1 springt.

hier erstmal das bisherige simple button script:
ActionScript:
  1. // load & play sound
  2. on (press){
  3.     // make sure other sounds are stopped
  4.     outgoing_lc = new LocalConnection();
  5.     outgoing_lc.send("lc_sound", "resetSound", sound_id);
  6.                 myLoader = new LoadVars();
  7.     myLoader.load(myUrl);
  8.     myLoader.onLoad = function(TRUE) {
  9.         // url has been loaded
  10.         mySound = new Sound();
  11.         mySound.stop();
  12.         mySound.loadSound(myLoader.sound_src, true);
  13.         mySound.onSoundComplete = function() {
  14.               gotoAndPlay(1);
  15.         }
  16.     }
  17.     // create listening local connection object
  18.     incoming_lc = new LocalConnection ();
  19.     // define incoming method
  20.     incoming_lc.resetSound = function (myID) {
  21.         if (myID <> sound_id) {
  22.             // reset
  23.             this.close();
  24.                         mySound.stop();
  25.             gotoAndStop(1);
  26.         }
  27.     };
  28.     // connect to local
  29.     incoming_lc.connect("lc_sound");
  30.     // go to playing frame
  31.     gotoAndPlay(5);
  32. }
es funktioniert auch wie gedacht, allerdings nur beim 2., 4., 6., 8. etc. Mal, was mich wahnsinning macht, weil ich den fehler - wahrscheinlich vor lauter bäumen...usw. - nicht sehe. wenn also der zweite button geklickt wird, springt der erste richtig zurück, bekommt also die nachricht. wenn nun der dritte button geklickt wird, während gerade der zweite spielt, bekommt der zweite komischerweise keine nachricht. wenn dann der vierte geklickt wird, wird der dritte ebenfalls zurückgesetzt, der zweite jedoch bleibt für immer auf "aktiv" stehen...arghhh...

Es wäre toll, wenn jemand etwas dazu einfällt oder mir einfach nur auf die Sprünge hilft....

Gruss,
Martin.
jat ist offline   Mit Zitat antworten
Alt 15-08-2002, 16:29   #2 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Wieso definierst du das incoming_lc onPress
und nicht einfach auf der root timeline ?

mfg r.
bokel ist offline   Mit Zitat antworten
Alt 15-08-2002, 16:49   #3 (permalink)
jat
Neuer User
 
Registriert seit: Aug 2002
Ort: Hamburg
Beiträge: 8
das local connection object soll erst beim mausklick initialisiert werden und nicht schon vorher.

ich habe es jetzt auch hinbekommen, so wie es sein soll. allerdings ist es eher zufall, weil ich einiges ausprobiert habe:

ActionScript:
  1. // create new local connection
  2.     myLc = new LocalConnection();
  3.     // define incoming method
  4.     myLc.resetSound = function (myID) {
  5.         if (myID <> sound_id) {
  6.             // reset
  7.             this.close();
  8.                         mySound.stop();
  9.             gotoAndStop(1);
  10.         }
  11.     }
  12.     // send reset
  13.     myLc.send("lc_sound", "resetSound", sound_id);
  14.     // get file url
  15.     myLoader = new LoadVars();
  16.     myLoader.load(myUrl);
  17.     myLoader.onLoad = function(TRUE) {
  18.         // url has been loaded
  19.         mySound = new Sound();
  20.         mySound.loadSound(myLoader.sound_src, true);
  21.         mySound.onSoundComplete = function() {
  22.               gotoAndPlay(1);
  23.         }
  24.         // connect to local
  25.         myLc.connect("lc_sound");
  26.         }
  27.     // go to playing frame
  28.     gotoAndPlay(5);
Jetzt funktioniert es, obwohl mir noch nicht klar ist, was das eigentliche Problem vorher war...hmm...vielleicht einfach eine Nacht drüber schlafen...

Gruss,
Martin.
jat 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 18:53 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele