Bacsh 4 Denunciar post Postado Novembro 14, 2011 Fala galera iMaster! beleza!? Bom, estou com um pequeno probleminha no meu novo site em desenvolvimento, sou iniciante no flash, me dou bem com a parte da animação mas com as actions ainda sou meio enrolado. Vamos lá então: 1° Tenho um swf principal (vamos chama-lo de "base") que está puxando um swf externo (vamos chama-lo de "agenda"). Da base eu fiz comandos para abrir a agenda através de um load movie: if (this.containerAgenda) { trace ("\'---> JÁ EXISTIA O CONTAINER"); this.containerAgenda.gotoAndPlay("abrir"); _global.paginaAtual = "agenda"; } else { trace ("\'---> NÃO EXISTE O CONTAINER, CRIA O CONTAINER E FAZ PRELOAD"); var containerAgenda = this.createEmptyMovieClip("containerAgenda", this.getNextHighestDepth()); this.containerAgenda.loadMovie("swf/agenda.swf"); _global.paginaAtual = "agenda"; } Até aqui tudo bem, o Movie está abrindo normal e fechando através da base. Então tá abriu e fechou agora é só aprimorar os códigos da agenda, como vocês notaram o agenda (swf externo) é realmente um agenda que precisa ter um Scroll, até ae tudo bem, fiz o Scroll e ele está funcionando na agenda normalmente, o problema é que quando eu abro ele através da base ele para de funcionar, provavelmente o problema está nesse código que eu coloquei na agenda: oldY=0; newY=0; Y=0; Y = getProperty('/scrollerMC/scroller',_y); newY = oldY + (Y - oldY)/-1.4; setproperty('/textnpicMC/textnpic',_y,newY); oldY = newY; Creio que o problema esteja nesse caminho, a minha dúvida é: Preciso retirar esse código da minha agenda e colocar na base ou simplesmente alterar esse caminho do getProperty e do setproperty? Usando minha lógica eu achei que tinha que colocar na base, então eu tentei de 2 maneiras mas não funcinou: if (this.containerAgenda) { trace ("\'---> JÁ EXISTIA O CONTAINER"); this.containerAgenda.gotoAndPlay("abrir"); _global.paginaAtual = "agenda"; oldY=0; newY=0; Y=0; Y = this.containerAgenda.getProperty('/scrollerMC/scroller',_y); newY = oldY + (Y - oldY)/-1.4; this.containerAgenda.setproperty('/textnpicMC/textnpic',_y,newY); oldY = newY; } else { trace ("\'---> NÃO EXISTE O CONTAINER, CRIA O CONTAINER E FAZ PRELOAD"); var containerAgenda = this.createEmptyMovieClip("containerAgenda", this.getNextHighestDepth()); this.containerAgenda.loadMovie("swf/agenda.swf"); _global.paginaAtual = "agenda"; oldY=0; newY=0; Y=0; Y = this.containerAgenda.getProperty('/scrollerMC/scroller',_y); newY = oldY + (Y - oldY)/-1.4; this.containerAgenda.setproperty('/textnpicMC/textnpic',_y,newY); oldY = newY; } 2° maneira: if (this.containerAgenda) { trace ("\'---> JÁ EXISTIA O CONTAINER"); this.containerAgenda.gotoAndPlay("abrir"); _global.paginaAtual = "agenda"; oldY=0; newY=0; Y=0; Y = getProperty('/areas/agenda/containerAgenda/scrollerMC/scroller',_y); newY = oldY + (Y - oldY)/-1.4; setproperty('/areas/agenda/containerAgenda/textnpicMC/textnpic',_y,newY); oldY = newY; } else { trace ("\'---> NÃO EXISTE O CONTAINER, CRIA O CONTAINER E FAZ PRELOAD"); var containerAgenda = this.createEmptyMovieClip("containerAgenda", this.getNextHighestDepth()); this.containerAgenda.loadMovie("swf/agenda.swf"); _global.paginaAtual = "agenda"; oldY=0; newY=0; Y=0; Y = getProperty('/areas/agenda/containerAgenda/scrollerMC/scroller',_y); newY = oldY + (Y - oldY)/-1.4; setproperty('/areas/agenda/containerAgenda/textnpicMC/textnpic',_y,newY); oldY = newY; } Repare que nessa segunda maneira já mostra o caminho onde os movies estão sendo criados para fazer o load. Se alguém puder me ajudar eu agradeceria muito, essa parte de caminhos é realmente complicada de intender pois não da mensagem de erro, e também eu acho que não tem tutorial que possa me ajudar em relação a essa parte, por isso espero que vocês me ajudem :D Compartilhar este post Link para o post Compartilhar em outros sites
Bacsh 4 Denunciar post Postado Novembro 14, 2011 hehehehehe Depois de muito quebrar a cabeça consegui descobrir a solução, o segredo é pensar que o swf externo pertence ao interno vamos se dizer, ou seja bastava arrumar a action da agenda que setava como se o movie estivesse na root, mas quando dava um load na agenda o root virava o root da minha base, então eu modifiquei o código da agenda, ficou assim: Y = getProperty('/areas/agenda/containerAgenda/scrollerMC/scroller',_y); newY = oldY + (Y - oldY)/-1.4; setproperty('/areas/agenda/containerAgenda/textnpicMC/textnpic',_y,newY); oldY = newY; Se eu abrir o swf da agenda o scroll não vai funcionar simplesmente porque esse caminho não existe, mas se eu abrir pela minha base ele vai localizar perfeitamente o caminho e o scroll volta a funcionar. Enfim... eu disse que era um problema simples, se quiserem apagar o tópico é tranquilo mas se quiserem deixar para ajudar outros membros com um problema parecido fiquem a vontade :joia: Compartilhar este post Link para o post Compartilhar em outros sites