fidelbres 0 Denunciar post Postado Outubro 15, 2006 Olá, Estou tentando fazer um flash que carrega fotos externas e que fiquem alternando num período de 10 segundos, quando alterasse tivesse um efeito em alpha. Tenho muita pártica com ASP, PHP e banco de dados, mas action e flash não sou expert. Fiz várias pesquisas e o tópico 179619 deste fórum dá a resposta, mas não funcionou e não tem continuação no tópico para saber se funciona ou não. http://forum.imasters.com.br/index.php?sho...=179619&hl= Já consegui carregar as imagens no flash, através do php, e testei criando um array simples, e já consegui que elas fiquem alternando, mas tentei unir uns códigos para pegar o efeito alpha e não deu certo. Para resumir, se eu conseguisse fazer o alpha dentro deste código simples que já tem aqui no fórum resolve: _root.createEmptyMovieClip("fundo", 1); fundo.loadMovie("foto1.jpg"); fotosArray = ["foto1.jpg", "foto2.jpg" , "foto3.jpg"]; i = 0; function fotosRotativas() { i == 2 ? i = 0 : i++; loadMovie(fotosArray, "fundo"); } setInterval(fotosRotativas,5000); Compartilhar este post Link para o post Compartilhar em outros sites
Antoniosp 2 Denunciar post Postado Outubro 15, 2006 Ae, que ótimo trabalho de pesquisa :P Vamos primeiro criar uma funçãozinha de alpha da hora: //Prototype para um simples alphaMovieClip.prototype.alphaPara = function(v1:Number, v2:Number) { this.createEmptyMovieClip("meu_alpha", this.getNextHighestDepth()); this._alpha = v1; this.meu_alpha.onEnterFrame = function() { if (Math.max(v1, v2) == v2) { this._parent._alpha += Math.ceil((v2 - this._parent._alpha) / 5); if (this._parent._alpha >= v2) { this._parent._alpha = v2; removeMovieClip(this); } } else { this._parent._alpha += Math.floor((v2 - this._parent._alpha) / 5); if (this._parent._alpha <= v2) { this._parent._alpha = v2; removeMovieClip(this); } } };}; O que isso faz é simples. Cria um arquivo, cria um mc, coloca esse prototype e isso nas actions: seu_mc.alphaPara(0, 100); Tadá! Ele vai de alpha 0 até 100. ;) Agora é só colocar essa linha com o seu "fundo". Abraço Compartilhar este post Link para o post Compartilhar em outros sites
fidelbres 0 Denunciar post Postado Outubro 15, 2006 Antonio, Agradeço sua ajuda, mas peço paciência, porque ainda não consegui deixar como deve ser. Coloquei o código do prototype nas actions e a linha com o nome do meu mc. Não deu totalmente certo, porque ao que me parece o alpha varia de 0 a 10. Só para você saber não tem nada no filme, só tem action, aí tentei criar o mc no filme e colocar o prototype nas actions do mc e deu erro. Procurei entender o código, alterei os valores de 0 a 200, 0 a 500, na divisão que tem dentro do código alterei os valores de / 5 por /2 /4 , etc... para tentar entender, mas não consegui. Para resumir, coloquei o código do prototype no início da declaração de código, este código que postei inicialmente logo em seguida com a linha que chama a função que muda o alpha, se me permite o endereço para ver como ficou: http://www.orbitavix.com.br/fotos.html O código: //Prototype para um simples alpha MovieClip.prototype.alphaPara = function(v1:Number, v2:Number) { this.createEmptyMovieClip("meu_alpha", this.getNextHighestDepth()); this._alpha = v1; this.meu_alpha.onEnterFrame = function() { if (Math.max(v1, v2) == v2) { this._parent._alpha += Math.ceil((v2 - this._parent._alpha) / 5); if (this._parent._alpha >= v2) { this._parent._alpha = v2; removeMovieClip(this); } } else { this._parent._alpha += Math.floor((v2 - this._parent._alpha) / 5); if (this._parent._alpha <= v2) { this._parent._alpha = v2; removeMovieClip(this); } } }; }; _root.createEmptyMovieClip("fundo", 1); fundo.loadMovie("foto1.jpg"); fundo.alphaPara(0, 100); fotosArray = ["foto1.jpg", "foto2.jpg" , "foto3.jpg"]; i = 0; function fotosRotativas() { i == 2 ? i = 0 : i++; loadMovie(fotosArray, "fundo"); } setInterval(fotosRotativas,5000); agradeço e se precisar de algo em ASP, PHP, Banco de dados estamos aí Compartilhar este post Link para o post Compartilhar em outros sites
Antoniosp 2 Denunciar post Postado Outubro 16, 2006 É, foi mal. O meu prototype só funciona para mcs que não carregam fotos... agora que você falou eu fui testar e você estava certo. Sugiro então que use a classe Transitions do Flash, exemplo: //Importando as classesimport mx.transitions.*;_root.createEmptyMovieClip("fundo", 1);//Criando um TransitionManager para o mc fundovar fade = new TransitionManager(fundo);fundo.loadMovie("foto1.jpg");//Começando um fadein de 2 segundosfade.startTransition({type:Fade, direction:Transition.IN, duration:2});//O resto você já sabe;)fotosArray = ["foto1.jpg", "foto2.jpg" , "foto3.jpg"];i = 0;function fotosRotativas() { i == 2 ? i = 0 : i++; loadMovie(fotosArray[i], "fundo"); fade.startTransition({type:Fade, direction:Transition.IN, duration:2});}setInterval(fotosRotativas, 5000); Se quiser ver outras transições, dê uma olhada no F1 do flash. Ele dá exemplos de como configurar o Zoom, o Fly, e mais um monte de outras transições. Abraço :) Compartilhar este post Link para o post Compartilhar em outros sites