Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kurt_RP

LoadMovie - Transição de imagens

Recommended Posts

Olá Pessoal,

 

Por favor me deem uma luz!

 

Como se faz para guardar o valor de uma variavel e resgatar ela qdo iniciar a cena novamente??

Vou tentar explicar melhor mostrando aqui o meu codigo...

 

var dir = "imagens/";
var foto1 = dir+"imagem1.jpg"; 
var fotoArray = [dir+"imagem2.jpg", dir+"imagem3.jpg" , dir+"imagem4.jpg"]; 

escolha = random(3);

//primeira vez
loadMovie(foto1, photo);
loadMovie(fotoArray [escolha], photo2);

//segunda vez em diante
//loadMovie(fotoArray [????], photo); (variavel antiga q eu peguei primeiro da photo2 )
//loadMovie(fotoArray [escolha], photo2);

Seguinte.. como estou fazendo um efeito aqui em cada uma das imagens que ira aparecer, eu quero que qdo for ir mostrando as imagens ir fazendo o efeito que eu fiz e com isso dando a transição de imagem a a outra

Ou seja, quero que qdo motrar a imagem1 por exemplo, pegue mude para a imagem2, e depois qdo ele volta para o inicio da cena para fazer novamente todo o efeito visual, pegue essa "imagem2" q foi mostrada e passe depois para a "imagem3" e assim sucessivamente.

Claro q isso podera ser randomico tambem, melhor seria se fosse!

 

Mas eu nao sei se consegui ser claro aqui, toda a vez q eu mostrar uma imagem eu quero pega ela e deixar gardada, tipo numa variavel auxiliar, apara assim depois qdo volta para o inicicio da cena eu poder pegar ela novamente e "transiciona-la" com a nova imagem.

 

 

Sempre assim pega uma guarda, mostra a nova.. pega essa nova guarda e mostra a outra nova...

Para assim, qdo iniciar a cena novamente não ficar piscando a imagem voltando a primeira "imagem1", ou seja, quero que faça o efeito de transição com essa ultima que ela havia escolhido antes... deu pra entender??

 

 

Tentei fazer dando um loop de for ou while mas nao adiantou, pq qdo ele volta denovo para cena nao da pra se sabe onde ele parou antes.. saca

 

Eu estou usando ActionScript 2.0

Se alguem souber como fazer isso funcionar.. por favor me deem uma ajuda!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uhuuuu õ/

Consegui pessoal!!

 

Meti uma variavel global aqui para guardar o valor da variavel e deu boa...

var dir = "imagens/";
var foto1 = dir+"imagem1.jpg"; 
var fotoArray = [dir+"imagem2.jpg", dir+"imagem3.jpg" , dir+"imagem4.jpg"]; 

escolha = random(3);

if (fotoAtual == null){
	loadMovie(foto1, photo);
	loadMovie(fotoArray [escolha], photo2);
}else{
	loadMovie(fotoAtual, photo);
	loadMovie(fotoArray [escolha], photo2);
}
_global.fotoAtual = fotoArray [escolha];

 

Agora só ta faltando ajustar alguns detalhezinhos...

 

Como fazer para não escolher essa mesma imagem escolhida anteriormente pelo "random"???

E como fazer para qdo ele volta a iniciar a cena novamente não dar aquela piscadinha??? :huh:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz varios IF else

 

Se ja foi 1... entra outro ou um switch que é melhor pra essa opção

A piscadinha... não tem solução

 

Se você usar loadClip você pode pode por um alpha ou algo assim... pra ele ir aparecendo em vez de piscar...

Ou fazer isso com um onEnterFrame

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK berseck!

 

Foi isso mesmo que eu fiz antes para poder resolver.

Fiz um if dentro de outro. Faço um if para verificar se a imagem anterior eh igual a sorteada e caso seja faz novamente o sorteio.

Claro que não ficou perfeito pq ainda corre o risco de repetir novamente.. mas enfim ja ajuda.

 

Agora o meu maior problema mesmo ta sendo essa tal "piscadinha" <_<

Não sei agora como fazer para resolver isso..

Tentei colocar la no lugar do loadMovie o loadClip que você disse mas nao rolou aqui..

Tambem tentei colocar o onEnterFrame e nao deu certo.

 

Poderia por gentileza me esclarecer melhor como pode ser feito isso??

 

Obrigado ai pela sua atenção!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca melhor do que isso faz assim

mc.loadMovie("asdrubal.swf");
mc._alpha = 0;
mc.onEnterFrame = function(){
 mc._alpha += 10;
 if(mc._alpha == 0) delete onEnterFrame;
}

Pronto matei sua piscadinha

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa!!! o.O

Tudo isso só pra nao dar aquela piscadinha.. heheheh

 

Olha so.. aqui nao ta rolando essa parada.

Pra dizer a verdade eu nao consegui entender, pq nao programo muito em action script.

 

berseck, poderia me explicar melhor como eu faço para poder adaptar esse codigo na minha animação?

Quero avisar que eu nao quero fazer o efeito de alpha, so quero mesmo é tirar essa piscada q ele da no final qdo retorno novamente para o começo.

 

Abaixo segue o codigo que eu fiz.

 

var dir = "imagens/";
var foto1 = dir+"imagem1.jpg"; 
var fotoArray = [dir+"imagem2.jpg", dir+"imagem3.jpg" , dir+"imagem4.jpg"]; 

escolha = random(3);

if (fotoAtual == null){
	loadMovie(foto1, photo);
	loadMovie(fotoArray [escolha], photo2);
}
else if (fotoAtual == fotoArray [escolha]){
	loadMovie(fotoAtual, photo);
	escolha = random(3);
	loadMovie(fotoArray [escolha], photo2);
}else{
	loadMovie(fotoAtual, photo);
	loadMovie(fotoArray [escolha], photo2);
}

_global.fotoAtual = fotoArray [escolha];

No final da animação eu coloco "gotoAndPlay(15);" que é para voltar para o frame 15, pq no inicio ele fica parado para mostrar a primeira imagem e dai sim depois ele começa a fazer a transição entre as outras imagens.

 

Se alguem puder dar uma outra ideia de como fazer, sinta-se a vontade. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

 

Obrigado galera!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua piscadinha só tem a solução que eu falei.....

 

Afinal ela carrega né???

Então se ela ja ta no cache do pc da pessoa... ela simplesmente reaparece

 

E por isso você diz que "PISCA"

 

Tente usar o que eu falei...

"Resolve" o seu problema... visual

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua piscadinha só tem a solução que eu falei.....

 

Afinal ela carrega né???

Então se ela ja ta no cache do pc da pessoa... ela simplesmente reaparece

 

E por isso você diz que "PISCA"

 

Tente usar o que eu falei...

"Resolve" o seu problema... visual

 

Abraços

 

 

OK berseck. mas eu acho q nao estamos nos entendendo.

Seguinte vou tentar te explicar aqui rapidinho.

 

Eu fiz uma animação aqui no flash onde eu ainda nao coloquei no site e nem testei ainda na internet.

Essa animação so esta no flash eu exportei ela pra .swf para testa-la.

O problema que estou tendo é qdo ao fazer essa "transição de imagens" no final da animação ela tem q volta para o inicio e assim pegar outra imagem la no diretorio para que possa fazer novamente a animação sempre é claro mudando a imagem, ou seja, chega no final volta depois para o inicio, fazendo sempre assim um loop, mudando somente a imagem que no caso é pego do diretorio de imagens.

 

Entao.. sempre que volta para o inicio ela "PISCA", e isso eu nao queria q fizesse, entende.

Saberia me dizer como fazer para nao piscar mais?

Tentei fazer utilizando aquele teu exemplo que você deu antes, mas nao consegui entender direito e pelo que testei aqui nao deu certo.

 

Poderia por gentileza, me passar um exemplo e explicar como fazer nessa minha animação?

 

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se entendi bem, esse código está no primeiro frame e, quando o filme chega em determinado frame, ele volta pro primeiro. É isso?

Se for, talvez a "piscada" seja por quê ele volta ao primeiro frame e executa novamente o código...

Estou fazendo essa suposição pois é difícil saber ao certo a causa, pois não faço idéia de como seu projeto foi feito.

Mas analise essa opção, ok?

 

abs;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se entendi bem, esse código está no primeiro frame e, quando o filme chega em determinado frame, ele volta pro primeiro. É isso?

Se for, talvez a "piscada" seja por quê ele volta ao primeiro frame e executa novamente o código...

Estou fazendo essa suposição pois é difícil saber ao certo a causa, pois não faço idéia de como seu projeto foi feito.

Mas analise essa opção, ok?

 

abs;

 

 

Sim.. é isso mesmo blockmonork!

O codigo eu coloquei no primeiro frame e depois qdo ele chega la no final, no ultimo frame ele ira voltar para o primeiro para fazer novamente a animação, mudando assim somente a imagem atras, fazendo assim a transição entre elas.

 

Meu problema esta sendo ainda em como fazer essa transição de imagens sem dar esse "piscada", ou seja, ir ate o final e qdo voltar mudar a imagem sem piscar, entende.

 

 

Alguem sabe como fazer isso???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Simples

 

Em vez de mandar voltar para o primeiro frame

Mande voltar para o segundo ;)

 

Colocando um gotoAndPlay(2)

 

No ultimo frame de sua animação

 

Sua explição se auto responde

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Simples

 

Em vez de mandar voltar para o primeiro frame

Mande voltar para o segundo ;)

 

Colocando um gotoAndPlay(2)

 

No ultimo frame de sua animação

 

Sua explição se auto responde

 

Abraços

 

 

Ta bom berseck, valeu pela ajuda <_<

 

Mas isso nao adianta em nada.

Inclusive ja coloquei pra ele pular para outro frame.

Na verdade ele volta acho que pro frame 15, pra dar um tempinho pra mostrar a primeira imagem antes de começar a transição das outras.

 

O que eu quero saber é como fazer para nao que nao "pisque" a imagem, idependente de qual frame ele ir, entendeu?

 

 

Se alguem souber, por favor, me da um tok.

 

 

Obrigado pessoal pela anteção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você falou... falou... falou... pediu, pediu e pediu

Mas não deu nenhum exemplo concreto do que você ta falando...

 

Se der algum exemplo quem sabe alguem aqui saiba a solução para lhe ajudar...

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você falou... falou... falou... pediu, pediu e pediu

Mas não deu nenhum exemplo concreto do que você ta falando...

 

Se der algum exemplo quem sabe alguem aqui saiba a solução para lhe ajudar...

 

Abraços

 

Pois eh berseck...

Desculpe se eu nao fui claro antes, mas é que eu nao sei mais o que falar.

Ja comentei tudo sobre o meu problema antes.

 

O que eu preciso eh que ao fazer toda a animação e chegar no final.. ela volte e faça novamente toda a animação, sem pica a imagem, so fazer a transição por outra imagem sem piscar, entende.

 

Bem era isso, por enquanto vlw pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Você falou... falou... falou... pediu, pediu e pediu

Mas não deu nenhum exemplo concreto do que você ta falando...

 

Se der algum exemplo quem sabe alguem aqui saiba a solução para lhe ajudar...

 

Abraços

 

Pois eh berseck...

Desculpe se eu nao fui claro antes, mas é que eu nao sei mais o que falar.

Ja comentei tudo sobre o meu problema antes.

 

O que eu preciso eh que ao fazer toda a animação e chegar no final.. ela volte e faça novamente toda a animação, sem pica a imagem, so fazer a transição por outra imagem sem piscar, entende.

 

Bem era isso, por enquanto vlw pela ajuda!

 

 

Algum tempo depois... :huh:

 

Olá Kurt_RP, você conseguiu resolver o problema da "piscada"?

 

Estou com o mesmo problema. Mas estou tentando dar loadMovie() em outro swf, mas o sintoma é o mesmo.

 

O problema ocorre pq, após o primeiro loadmovie() enquanto processa o novo loadMovie(), o flash remove o anterior exibindo brevemente o background do frame _level0 e carrega o novo movie em seguida, assim parece que fica "piscando".

 

se quiser recriar este exemplo,

crie um arquivo com 2 frames

 

no primeiro frame:

 

_root.nextFrame();

 

no segundo frame:

 

if (counter==0) {
	counter=1;
	loadMovie("filme1.swf", palco);
} else {
	loadMovie("filme2.swf", palco);
	counter=0;
}

e no ultimo frame do filme1 e do filme2 deve ter:

_level0.play();

Procurei por uma solucao para o caso, mas em vão.

 

valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.