Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-10-2003, 13:43   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 4
Question Sound in containerMC läuft nicht

Ein Film ("Soundtool") enthält für AS ins erste Frame exportierten Sound ("kamera")
in seiner Bibliothek, der über einen Button (fwd) dieses Filmes ("Soundtool") ausgelöst wird.
Im ersten Frame des Filmes:

ActionScript:
  1. fwd.onPress = function(){laden()}
  2. function laden() {
  3. ...
  4.     cam = new Sound();
  5.     cam.attachSound("kamera");
  6.     cam.start(0, 1);
  7. ...
  8. }

Das funktioniert einwandfrei, wenn der Button (fwd) in diesem Film ("Soundtool") ausprobiert wird.
Wird der Film ("Soundtool") aber per loadMovie in ein containerMC ("inhalt") eines Hauptfilms geladen,
löst der Button (fwd) im eigenen Film ("Soundtool") seinen eigenen Sound NICHT mehr aus.

Was ist hier falsch?
Es gibt bereits Beiträge zu diesem Thema, aber keiner löst das Problem...

Grüße
Peter
HumanY ist offline   Mit Zitat antworten
Alt 06-10-2003, 13:49   #2 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
cam = new Sound(this);

Vermute ich mal - jedenfalls sollte das Soundobjekt immer einer bestimmten Zeitleiste zugeordnet sein und auch die Steuerbuttons sollten zu dieser Zeitleiste hinweisen.

Was passiert wenn nicht - siehe Tutorials-und-FAQ-Board -> Sound -> Sound per Actionscript steuern.

Gruß
rena
__________________
www.rena-hermann.de

The angels have the phone box
rena ist offline   Mit Zitat antworten
Alt 06-10-2003, 14:33   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 4
Sound in containerMC läuft nicht

weder
ActionScript:
  1. this.cam = new Sound()
noch
ActionScript:
  1. cam = new Sound(this)
oder
ActionScript:
  1. this.cam = new Sound(this)
oder
ActionScript:
  1. this.fwd.onPress = ....
plus die Varianten oben

helfen.

Aber danke soweit für die prompte Antwort,
scheint ein Problem zu sein,
mit dem sich niemand außer Macromedia auskennt ?

Werde auch alle Tutorials durchgehen
aber bis jetzt sehe ich schwarz,
denn im Forum wusste bisher niemand eine probate Antwort.

Gruß
Peter
HumanY ist offline   Mit Zitat antworten
Alt 06-10-2003, 15:12   #4 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Hello,

also laut Prof. Dr. Dr. Moock sollte es mit
ActionScript:
  1. cam = new Sound(this);
schon funktionieren. Du könntest auch noch folgendes probieren:
ActionScript:
  1. cam = new Sound(inhalt);
Ich hatte mal ein ähnliches Problem, dabei habe ich jedoch ganze swfs übereinander geladen und musste für einen Klicksound auch als target dessen "Heimat-Lib-Timeline" angeben ("_level4" in diesem Fall).

Muss gehen!
Tom
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 06-10-2003, 15:35   #5 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 4
Sound in containerMC läuft !!! snd = new Sound([B]_parent[/B])

Thanks !!!

es ist
ActionScript:
  1. fwd.onPress = function(){laden()}
  2.  
  3. function laden() {
  4. ...
  5.     cam = new Sound([B]_parent[/B]);
  6.     cam.attachSound("kamera");
  7.     cam.start(0, 1);
  8. ...
  9. }

So löst der Button "fwd" für AS ins erste Frame exportierten Sound aus, wenn der Sound in beiden Bibliotheken (Hautpfilm u. "Soundtool") vorliegt -
egal ob der Film solo läuft - _parent ist hier sowieso die oberste Zeitleiste, da der Button "fwd" auf _root des Filmes "Soundtool" liegt -
oder ob der Film in einen anderen geladen wird als Inhalt eines containerMC - _parent von containerMC ist dann die Zeitleiste des ladenden Hauptfilms - das Soundobjekt "cam" ist damit im Hauptfilm instanziert. Ein Klick auf den Button "fwd" im geladenen Film "Soundtool", also im containerMC, spricht damit die Zeitleiste des Hauptfilmes an. Es funtkionert.

Man könnte hier wohl auch von _root, _level0 usw. reden, aber genau diese absoluten Pfadangaben wären in meinem Beispiel das Problem, deshalb lasse ich es.

Eure Tipps gehen also in die richtige Richtung, danke.
Die Tutorials sind mager und nicht hilfreich,
vielleicht ist es ja nun meine Antwort auf meine Frage

Ob jemand weiss, wie man sich die Soundeinbindung einmal sparen und trotzdem von beiden Punkten aus (solo und aus container heraus) ansprechen kann ???

Ich hab's hier nur mit Klicksounds zu tun, aber besonders bei umfangreichen Sounds macht nämlich diese Lösung auch keinen Sinn.

Gruß
Peter
HumanY ist offline   Mit Zitat antworten
Alt 06-10-2003, 17:11   #6 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Also irgendwie kommt mir das jetzt schon a bissle umständlich vor - der Sound in beiden Libs? Oder ich blick dein Beispiel jetzt nicht ganz...
Warum instanzierst du dein Soundobjekt nicht auf der HZL von "Soundtool"
ActionScript:
  1. cam = new Sound(this);
  2. cam.attachSound("kamera");//ausserhalb der funktion!
  3.  
und definierst da auch deine "laden"-Funktion:
ActionScript:
  1. this.laden = function() {
  2. cam.start();
  3. };
Dann ist dein Sound verknüpft mit dem Soundtool. Und die aufrufende Funktion muss ihn halt adressieren, wenn von außerhalb aufgerufen:
ActionScript:
  1. fwd.onPress = function() {
  2. _root.inhalt.laden();
  3. };

Und längere Sounds würde ich sowieso nicht an ein Soundobjekt attachen, sondern von extern in einen MC laden.

Oder wie oder was...?

Gruß,
Tom

Käse - natürlich sind lange Sounds auch an ein Soundobjekt zu attachen, wenn man per AS drauf zugreifen will. Hab mich verwirren lassen und eigentlich was anderes gemeint...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)

Geändert von sonar (06-10-2003 um 17:39 Uhr)
sonar ist offline   Mit Zitat antworten
Alt 07-10-2003, 11:59   #7 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 4
Soundobjekt in containerMC onLoad instanzieren

Soundobjekt in containerMC 'onLoad' instanzieren
ActionScript:
  1. fwd.onPress = function() {
  2.     [B]_root.inhalt[/B].laden();
  3. };
Wenn Du mit absoluten Pfaden arbeitest, funktioniert das nicht mehr, wenn der Film "Soundtool" alleine - also nicht in einem containerMC - aufgerufen wird.

Angenommen, Du würdest "Flash-Tools" scripten, die Du solo auf Seiten präsentierst oder aber auch in einem SammelFlashFilm,
dann gibt es den Pfad "inhalt" in dem ersten Fall gar nicht und "_root" ist im ersten Fall eine völlig andere Zeitleiste als im zweiten.

Dieser Teil bezieht sich also nicht auf die Frage. Aber: Ich muss tatsächlich außerhalb jeder Funktion instanzieren.
Das Instanzieren des Soundobjekts darf in keiner Funktion stehen, muss also beim Laden des Filmes "Soundtool" im ersten Frame auf der Hauptzeitleiste geschehen.

Auch
ActionScript:
  1. this.onLoad = function (){cam = new Sound([B]this[/B])}
funktioniert nicht. Soweit ich das verstehe, weil this sich hier auf die Funktion als Objekt-Konstruktor bezieht - mir fehlt da der Fachjargon - und eben nicht auf die Zeitleiste von "Soundtool".

Jeder Sound, z.B. "kamera", muss also endlich nur einmal - und zwar in "Soundtool" - für AS ins erste Frame exportiert (verknüpft) werden und mit
ActionScript:
  1. cam = new Sound([B]this[/B]);
muss ein Soundobjekt im ersten Frame auf der Hauptzeitleiste von "Soundtool" instanziert werden (außerhalb jeder Funktion).
Jetzt kann jeder für AS exportierte Sound - einmal eingebettet - in beiden Fällen durch den selben Button "fwd" in "Soundtool" ausgelöst werden,
egal ob "Soundtool" solo läuft oder in einem containerMC eines SammelFilmes:
ActionScript:
  1. fwd.onPress = function(){
  2.     ...
  3.     cam.attachSound("kamera"); // oder ("klospülung") - was auch immer
  4.     cam.start();
  5.     ...
  6. }
Irgendwer hat mal ins Forum geschrieben, dass es wie mit Kindern sei, schwere Geburt, langes Aufpäppeln, aber am Ende sind sie richtig süss...

Puuh, danke Dir Tom !

Gruß
Peter

PS: Sounddateien größer als simple Buttoneffekte würde ich auch nicht einbinden, aber diese Datenmengen, von denen ich rede, sind den Eintrag in die FAT des Users nicht wert.
HumanY ist offline   Mit Zitat antworten
Alt 07-10-2003, 12:13   #8 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Naja, is mir jetzt ehrlich gesagt etwas zu kompliziert zum Mitdenken , aber wenn's läuft und ich dir a bissl helfen konnte, dann passt's ja.

Tom
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar 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 07:01 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele