Ir para conteúdo

POWERED BY:

Arquivado

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

Luiz Henrique

Problema com alpha

Recommended Posts

Olá pessoas,

 

Estou com um problema com a class Tween/TweenLite/TweenMax e alpha, em nenhuma delas funciona o efeito no navegador no ctrl+enter, o efeito é para ser aplicado em uma imagem carregada, após a conclusão do loader: onLoadInit executo a classe para fazer a magem aparecer de 0 a 100, mas não vai ela já aparece em 100 de uma vez, já fiz com que cada vez que a função seja executada o alvo ficasse com alpha 0, adcionei uma setInterval de 5 segundos para então executar a classe por um problema de delay, mas não vai de forma alguma, ah também tentei carregar a imagem dentro do alvo img.img e aplicar o efeito no img, tentei de tudo mas não vai, até mudei o js que coloca o swf no html, só testei no firefox e similares IE não rola flash aqui é 64bits, então já vão 3 perguntas de uma vez, vou pstar o code que utilizo e perguntas.

 

efeito:

function loadIMG($imagem) {
img._alpha = 0; // zero o alpha da imagem para garantir
var obJmcl:MovieClipLoader = new MovieClipLoader();
var obJact:Object = new Object();
obJact.onLoadProgress = function(mc, bt, tt):Void  {
	var pc = Math.round((bt/tt)*100);
	//... firulas
};
obJact.onLoadInit = function():Void  {
               img._xscale = img._yscale = 100; // reinicia a resolução para não dar pau no cálculo abaixo
               $resolucao = (Stage.width/img._width)*100; // para quem quiser aproveitar, isto é um cálculo para redimensionar proporcionalmente
	img._xscale = $resolucao;
	img._yscale = $resolucao;
	//TweenLite.to(img, 2, {_alpha:100});
	var mcTweenA:Tween = new Tween(img, "_alpha", Strong.easeOut, 0, 100, 2, true);
};
obJmcl.addListener(obJact);
obJmcl.loadClip(_root.$servidor+"img/galeria/full/"+$imagem,img.img);
}

 

Código html para o swf, para evitar a borda já faz tanto tempo que utilizo isto que nem sei se existe o problema ainda, mas se tiverem alguma outra forma melhor agradeço se compartilhar:

 

gerarSWF("arquivo.swf?c="+Math.ceil(Math.random()*99999));	
function gerarSWF($arquivo){
document.writeln('<object type="application/x-shockwave-flash" data="'+ $arquivo +'" width="100%" height="100%">');
document.writeln('<param name="allowScriptAccess" value="sameDomain" />');
   document.writeln('<param name="movie" value="' + $arquivo + '" />');
document.writeln('<param name="loop" value="false" />');
document.writeln('<param name="menu" value="false" />');
   document.writeln('<param name="quality" value="best" />');
document.writeln('<param name="scale" value="noscale" />');
document.writeln('<param name="allowFullScreen" value="true" />');
document.writeln('<param name="salign" value="lt" />');
document.writeln('<param name="wmode" value="transparent" />');
document.writeln('<embed quality="best" wmode="transparent" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" ></embed>');
   document.writeln('</object>');
}

 

E sobre o IE alguém usa Windows 7 64bits com o swf funcionando no IE?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Luiz Henrique, embora em versões diferentes do action, sugiro uma olhada nessa dica que o Irineu me passou.

 

Talvez possa auxiliar.

 

http://forum.imasters.com.br/topic/429930-chamar-javascript-apos-tween/page__pid__1697549#entry1697549

 

 

Uso Win7 Ultimate 64, com IE9.

 

Visualizo meu arquivo com a TweenMax (AS3) na boa >> Clique aqui

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia moça,

 

Então, meu problema com o windows é na verdade é o IE9 64bits, é bug do navegador mesmo, e como eu havia eliminado o 32bits não consigo colocá-lo novamente =b.

 

Sobre o problema, parece ser delay mesmo, vai ter que ficar assim, pois não posso colocar um setInterval para o visitante esperar 5 segundos para abrir a imagem, porém acho que o problema deva estar relacionado com a forma que foi feito o arquivo, o efeito funciona da seguinte forma, eu clico em uma imagem ela abre em determinado local do alpha 0 para 100 e quando clico em outra esta outra aparece em alpha 0 a 100 também, mantendo a outra, para isto ocorrer tenho 2 alvos e um contador e faço uma verificação if($cont%2){ alvo = alvo1;}else{alvo = alvo2}, e pronto resolvido, é aprimeria vez que faço desta forma, e acredito que é a única forma de fazer isto, se houver outra favor indicar.

 

Obrigado pelo retorno.

abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então você ta trabalhando com o evento errado

 

onLoadInit é quando já começou a carregar, mas não necessáriamente a imagem está completa.

Então o efeito que você quer teria que ser chamado no evento onLoadComplete.

 

Assim você terá certeza que a imagem terminou de carregar para poder colocar um alpha de 0 a 100.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia,

 

Então o problema do onLoadComplete é que eu não consigo resgatar as dimensões da imagem sempre retorna 0 (zero) ou seja isso img._width não rola já com o onLoadInit ele pega na boa, mudei a forma de fazer as coisas aqui, dei uma enxugada mudei a forma do efeito e funcionou.

 

vlw

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.