Tag zusammen,
ich verusche nun seit mehreren Stunden auf eine Funktionen einer geladenen swf zuzugreifen...dabei hab ich mich an folgende Tutorials orientiert.
Sobald eine externe swf geladen worden ist (eine bestimmt swf), bekommt der Hauptfilm ne kleine Meldung mit Hilfe eines Events ...(Link 1)..darauf hin versuche ich dann auf eine Funktion des geladenen Swf aufzurufen ...(Link 2)
Aus externer SWF Funktionen im Hauptfilm aufrufen (AS3) | Beautify Code Blog Auf MovieClips & Funktionen von externen SWFs zugreifen | Beautify Code Blog
ich bekomme aber immer wieder diese Fehlermeldung
PHP-Code:
TypeError: Error #1006: meineFunktion ist keine Funktion.
at MethodInfo-363()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at MethodInfo-69()
die kommunikation von der externen Swf auf den Hauptfilm geht...sprich dass mit dem Event funktionniert es komm nur nicht von dem Hauptfilm auf die Funktions der externen swf.
Wenn ich das richtig verstehe kommt er an die Funktion nicht dran...ich versuch die ganze Zeit schon irgendwie ne Lösung zu finden...steht aber glaub vor einer Sackgase...
Das ganze ist so aufgebaut.
Ich habe im Hautpfilm ein Mc namens
contentswf in den wird die swf geladen....
PHP-Code:
var loadit = new Loader();
loadit.load(new URLRequest("underpages/home.swf"));//laden den Home Film
contentswf.addChild(loadit);
function mousedrueber_klick(evt:MouseEvent):void
{
evt.currentTarget.addEventListener(Event.ENTER_FRAME,prufe);//Enter_Frame der prüft ob der MC alpha 0 oder alpha 1 ist
//demnach entscheide ich dann was ich mache
function prufe(e:Event):void//function des Enter_Frame
{
if(contentswf.alpha == 0){ // wenn der contentswf = alpha 0 ist ladet er einen Film
loadit.load(new URLRequest("underpages/"+e.currentTarget.name+".swf"));//laden den neuen Film
loadit.contentLoaderInfo.addEventListener(Event.COMPLETE, ende);//Complete Ereignis
e.currentTarget.removeEventListener(Event.ENTER_FRAME, prufe);//löschen des Enter_Frame
function ende(evt:Event)//funktion Complete
{
contentswf.alpha = 1;
contentswf.addEventListener("start", buttonaktiv);//hier horche ich auf das Event der geladenen swf
//und führe dann die Funktion aus
function buttonaktiv(evt:Event):void
{
trace("was geht ab");
contentswf.meineFunktion();//die Funktion soll später von einenm Buttons gesteuert werden
}
removeEventListener(Event.COMPLETE, ende);
}
}
if(contentswf.alpha == 1){ //wenn content swf alpha = 1 setzt er ihn auf null
contentswf.alpha = 0;
}
}
und hier den Code der geladenen swf
PHP-Code:
var closeEvent:Event = new Event("start", true);// Das Event das das sozusagen das Signal gibt
// dispatched
dispatchEvent(closeEvent);
}
////////////////////////////////////
////////////////////////////////////
////////////////////////////////////
//und hier die Funktion die Eigentlich ausgelöst werden soll
function meineFunktion():void
{
trace("hallo");
removeChild(galmovie);//hier wird einfach nur ein Mc gelöscht
}
Vllt kann mir jemand helfen...Dank schon mal...hoffe ich hab es gescheit erklärt
Gruss
Mando