Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho um menu e preciso carregar meus swfs externos qdo cada botao for clicado.
O meu problema é que nao estou conseguindo dizer para o boato deletar o que foi carregado e carregar o seu swf.
meu codigo...
var home:Home = new Home
var empresa:Empresa = new Empresa
var linhaBrasil:LinhaBrasil = new LinhaBrasil
var comemorativa:Comemorativa = new Comemorativa
var tecnologia:Tecnologia = new Tecnologia
var localizacao:Localizacao = new Localizacao
var patrocinio:Patrocinio = new Patrocinio
var contato:Contato = new Contato
// Cria Botões Menu
var animaHome:Tween
var animaEmpresa:Tween
var animaLinhaBrasil:Tween
var animaComemorativa:Tween
var animaTecnologia:Tween
var animaLocalizacao:Tween
var animaPatrocinio:Tween
var animaContato:Tween
//Cria variaveis para animar bt menu
var antiGC:Array = new Array()
// Anti Garbari Collect
// para cada bt tem sua animacao de entrada
function vaiHome (evt:Object) {
addChildAt(home, 2)
home.x = 470.1
home.y = 55.4
animaHome = new Tween(home, "alpha", Elastic.easeOut, 0, 1, 0.1, true);
antiGC.push(animaHome);
home.meuTween = animaHome
animaHome.addEventListener(TweenEvent.MOTION_FINISH, vaiEmpresa)
}
function vaiEmpresa (evt:TweenEvent) {
addChildAt(empresa, 2)
empresa.x = 595
empresa.y = 55.4
animaEmpresa = new Tween(empresa, "alpha", Elastic.easeOut, 0, 1, 0.1, true);
antiGC.push(animaEmpresa);
empresa.meuTween = animaEmpresa
animaEmpresa.addEventListener(TweenEvent.MOTION_FINISH, vaiLinhaBrasil)
}
var mcHome:MovieClip = new MovieClip
addChildAt(mcHome, 1)
// crio um bloco para a animacao que ja carrega no index e corresponde ao bt home
var textoHome:TextoHome = new TextoHome
var animaTexto:Tween
function vaiTexto (evt:TweenEvent) {
mcHome.addChild(textoHome)
textoHome.x = 519
textoHome.y = 208.8
animaTexto = new Tween(textoHome, "alpha", Elastic.easeOut, 0, 1, 0.1, true);
antiGC.push(animaTexto);
textoHome.meuTween = animaTexto
}
var escolhaModalidade:EscolhaModalidade = new EscolhaModalidade
var animaModalidade:Tween
function vaiModalidade (evt:TweenEvent) {
mcHome.addChild(escolhaModalidade)
escolhaModalidade.x = 460.4
escolhaModalidade.y = 280.3
animaModalidade = new Tween(escolhaModalidade, "alpha", Elastic.easeOut, 0, 1, 0.1, true);
antiGC.push(animaModalidade);
escolhaModalidade.meuTween = animaModalidade
}
var fundoModalidade:FundoModalidades = new FundoModalidades
var animaFundoModalidade:Tween
function vaiFundoModalidade (evt:TweenEvent) {
mcHome.addChildAt(fundoModalidade, 0)
fundoModalidade.x = 460.4
fundoModalidade.y = 315.4
animaFundoModalidade = new Tween(fundoModalidade, "alpha", Elastic.easeOut, 0, 1, 0.1, true);
antiGC.push(animaFundoModalidade);
fundoModalidade.meuTween = animaFundoModalidade
}
// chamo os botoes
home.addEventListener(MouseEvent.CLICK, clicouHome)
empresa.addEventListener(MouseEvent.CLICK, clicouEmpresa)
// e aqui começa meu problema...
function clicouHome (evt:MouseEvent) {
//
var animamcHome:TransitionManager = new TransitionManager(mcHome)
animamcHome.startTransition ({ type:Fade, direction:Transition.IN, duration:3, easing:Strong.easeOut})
//
addChild(mcHome)
//
}
function clicouEmpresa (evt:MouseEvent) {
//
var empresaRequest:URLRequest = new URLRequest("texto_empresa.swf")
var empresaLoader:Loader = new Loader
empresaLoader.load(empresaRequest)
//
empresaLoader.x = 425
empresaLoader.y = 212.4
//
var mcEmpresa:MovieClip = new MovieClip
mcEmpresa.addChild(empresaLoader)
//
var animamcEmpresa:TransitionManager = new TransitionManager(mcEmpresa)
animamcEmpresa.startTransition ({ type:Fade, direction:Transition.IN, duration:3, easing:Strong.easeOut})
addChildAt(mcEmpresa, 3)
//
}
Já tentei utilizar o removeChild(mcHome) me dá um erro....
TypeError: Error #2007: O parâmetro child não deve ser nulo.
at flash.display::DisplayObjectContainer/removeChild()
at home_fla::MainTimeline/clicouEmpresa()
function clicouHome (evt:MouseEvent) {
removeChild(mcHome)
//
var animamcHome:TransitionManager = new TransitionManager(mcHome)
animamcHome.startTransition ({ type:Fade, direction:Transition.IN, duration:3, easing:Strong.easeOut})
//
addChild(mcHome)
}
function clicouEmpresa (evt:MouseEvent) {
//
removeChild(mcEmpresa)
//
var empresaRequest:URLRequest = new URLRequest("texto_empresa.swf")
var empresaLoader:Loader = new Loader
empresaLoader.load(empresaRequest)
//
empresaLoader.x = 425
empresaLoader.y = 212.4
//
var mcEmpresa:MovieClip = new MovieClip
mcEmpresa.addChild(empresaLoader)
//
var animamcEmpresa:TransitionManager = new TransitionManager(mcEmpresa)
animamcEmpresa.startTransition ({ type:Fade, direction:Transition.IN, duration:3, easing:Strong.easeOut})
addChildAt(mcEmpresa, 3)
//
}
Eu acho que tem eu teria que usar o tal do evt.target, porém não sei como....
teria que deixar meus bts do menu dinamicos para que qdo clicasse automaticamente disparasse qual bt foi clicado e automaticamente remover o mc correspondente. Mais é justamente nisso que estou emperrada !! meus bts estão na biblioteca e não em um XML por isso estou com dificuldade..... me dá uma luz ?
Carregando comentários...