[Resolvido] Despachando um evento no pai que é filho
Então galera,
criei um SWF, que tem o seguinte código:
stop();
import flash.events.MouseEvent;
var contador:uint = 1;
var varMcAtual:String = 'slide0' + contador + '.swf';
// cria uma instância do Loader
var carregador:Loader = new Loader();
//inicia o slide
chama_movie(varMcAtual);
//adiciona os listeners nos botões
bt01.addEventListener(MouseEvent.ROLL_OVER, onBt01Rollover);
bt02.addEventListener(MouseEvent.ROLL_OVER, onBt02Rollover);
bt03.addEventListener(MouseEvent.ROLL_OVER, onBt03Rollover);
bt04.addEventListener(MouseEvent.ROLL_OVER, onBt04Rollover);
bt05.addEventListener(MouseEvent.ROLL_OVER, onBt05Rollover);
bt06.addEventListener(MouseEvent.ROLL_OVER, onBt06Rollover);
function chama_movie(name:String){
// armazena na variável “arquivo” o nome do swf externo a ser carregado
var arquivo:String = name;
// cria uma instância do URLRequest, que carregará o swf armazenado na variável “arquivo”
var requisicao:URLRequest = new URLRequest(arquivo);
// Carrega o swf solicitado
carregador.load(requisicao);
// Inclui o swf carregado no Stage
this.mcLoader.addChild(carregador);
carregador.x = 0;
carregador.y = 0;
this.addEventListener("iniciarTrocaSlide", onStartNewSlide);
}
function remove_movie(){
if (contador <= 5){ //sempre colocar neste valor o número total de slides - 1
contador++
varMcAtual = 'slide0'+contador+'.swf';
}else{
contador = 1;
varMcAtual = 'slide0'+contador+'.swf';
}
this.mcLoader.removeChild(carregador);
chama_movie(varMcAtual);
}
function onStartNewSlide(e:Event):void {
remove_movie();
}
function onBt01Rollover(event:MouseEvent){
chama_movie('slide01.swf');
contador = 1;
}
function onBt02Rollover(event:MouseEvent){
chama_movie('slide02.swf');
contador = 2;
}
function onBt03Rollover(event:MouseEvent){
chama_movie('slide03.swf');
contador = 3;
}
function onBt04Rollover(event:MouseEvent){
chama_movie('slide04.swf');
contador = 4;
}
function onBt05Rollover(event:MouseEvent){
chama_movie('slide05.swf');
contador = 5;
}
function onBt06Rollover(event:MouseEvent){
chama_movie('slide06.swf');
contador = 6;
}
Esse SWF por sua vez carrega um outro que tem o seguinte comando:
setTimeout(function(){dispatchEvent(new Event("iniciarTrocaSlide", true))},8000);
ATÉ AQUI TUDO ÓTIMO, tudo funcionando.
AGORA o problema:
Esse meu SWF PAI (o primeiro) eu subo ele para o meu sistema de e-commerce, SÓ QUE, lá ele ficará DENTRO de OUTRO SWF... ou seja, terei:
SWF DO SITEMA -> MEU SWF PAI -> MEU SWF FILHO
Acontece que aí quando o MEU SWF FILHO dispara aquele evento, ele tentar disparar no SWF DO SITEMA e não no pai, e assim acaba que não dispara nada, já que o eventlistenner e a função do mesmo estão no MEU SWF PAI.
Alguém tem idéia de como contornar isso?
Discussão (4)
Carregando comentários...