Como posso trabalhar com os efeitos de transitions na minha classe? Em minha classe loader, eu crio os loaders() para que os arquivos possam ser carregados e para adiciona-los ao palco utilizo o addChild(INSTANCIA), mas com a função:
TransitionManager.start(INSTANCIA, {type:Zoom, direction:Transition.IN, duration:1, easing:Bounce.easeOut});
ao tentar usar a mesma instancia que uso para addChild, o flash me aponta um erro flash display dizendo que não é possível transformar load em movieclip... então como resolver isso?
Publicidade
|
|
Page 1 of 1
trabalhar com transitions
#2
Posted 26 February 2010 - 02:23 PM
O erro já está de dando alguma dica:
Deu erro por que esse método solicita um parâmetro do tipo MovieClip e você está querendo usar um objeto do tipo Loader.
Confere a sintaxe do método que você usou:
Help Flash TransitionManager start() method:
http://help.adobe.com/en_US/AS3LCR/Flash_1...tml#start%28%29
Sabendo disso, você pode tentar usar a técnica de Casting. Que basicamente fala pra um objeto de uma determinada classe(no seu caso Loader) deverá "agir/atuar" como outra classe(MovieClip).
No exemplo abaixo, estou dizendo ao flash que o objeto da classe Loader vai poder "agir/atuar"(casting) como sendo um objeto da classe MovieClip.
Veja se dá certo pro seu caso.
ou:
Help Flash:
http://help.adobe.com/en_US/AS3LCR/Flash_1...erators.html#as
http://help.adobe.com/en_US/AS3LCR/Flash_1...erators.html#is
Procura na net por casting actionscript 3 você acha mais exemplos sobre:
http://brianchau.wordpress.com/2007/12/07/...actionscript-3/
http://www.darronschall.com/weblog/2006/02...t-3-casting.cfm
Abraço.
QUOTE
...não é possível transformar load em movieclip.
Deu erro por que esse método solicita um parâmetro do tipo MovieClip e você está querendo usar um objeto do tipo Loader.
Confere a sintaxe do método que você usou:
QUOTE
TransitionManager.start(myMovieClip, {type:Zoom, direction:Transition.IN, duration:1, easing:Bounce.easeOut});
Help Flash TransitionManager start() method:
http://help.adobe.com/en_US/AS3LCR/Flash_1...tml#start%28%29
Sabendo disso, você pode tentar usar a técnica de Casting. Que basicamente fala pra um objeto de uma determinada classe(no seu caso Loader) deverá "agir/atuar" como outra classe(MovieClip).
No exemplo abaixo, estou dizendo ao flash que o objeto da classe Loader vai poder "agir/atuar"(casting) como sendo um objeto da classe MovieClip.
Veja se dá certo pro seu caso.
QUOTE
TransitionManager.start(INSTANCIA_LOADER.content as MovieClip, {type:Zoom, direction:Transition.IN, duration:1, easing:Bounce.easeOut});
ou:
QUOTE
TransitionManager.start(MovieClip(INSTANCIA_LOADER.content), {type:Zoom, direction:Transition.IN, duration:1, easing:Bounce.easeOut});
Help Flash:
http://help.adobe.com/en_US/AS3LCR/Flash_1...erators.html#as
http://help.adobe.com/en_US/AS3LCR/Flash_1...erators.html#is
Procura na net por casting actionscript 3 você acha mais exemplos sobre:
http://brianchau.wordpress.com/2007/12/07/...actionscript-3/
http://www.darronschall.com/weblog/2006/02...t-3-casting.cfm
Abraço.
#3
Posted 26 February 2010 - 02:24 PM
QUOTE(aln @ 26/2/2010 12:02:12) <{POST_SNAPBACK}>
Como posso trabalhar com os efeitos de transitions na minha classe? Em minha classe loader, eu crio os loaders() para que os arquivos possam ser carregados e para adiciona-los ao palco utilizo o addChild(INSTANCIA), mas com a função:
TransitionManager.start(INSTANCIA, {type:Zoom, direction:Transition.IN, duration:1, easing:Bounce.easeOut});
ao tentar usar a mesma instancia que uso para addChild, o flash me aponta um erro flash display dizendo que não é possível transformar load em movieclip... então como resolver isso?
TransitionManager.start(INSTANCIA, {type:Zoom, direction:Transition.IN, duration:1, easing:Bounce.easeOut});
ao tentar usar a mesma instancia que uso para addChild, o flash me aponta um erro flash display dizendo que não é possível transformar load em movieclip... então como resolver isso?
opa blz..........
vamos do principio:
sua variavel INSTANCIA é de q tipo? como ela foi criada? ( pra ficar mais facil para nos do forum te ajudar, posta essa parte do seu codigo)
outro como você instancio o seu transition manager?
tem esse exemplo q veio do site do mxStudio
//instancia um novo transition q vai agir no movieclip circulo
var myTransitionManager:TransitionManager = new TransitionManager(circulo);
//tp de animaçao
myTransitionManager.startTransition({type:Iris, direction:Transition.IN, duration:1, easing:None.easeNone, startPoint:5, shape:Iris.CIRCLE});
segue o link com o tutorial completo http://www.mxstudio.com.br/flash/estudo_de...nsitionmanager/
#4
Posted 02 March 2010 - 11:34 PM
Pessoal, era isso que estava perguntando... como converter a expressão... mas ainda sim não deu certo nenhuma das formas, continua acusado que é impossivel converter loader para movieclip, parece que o actionscript não aceita converter especificamente a classe loader, pois testei também da seguinte maneira:
var loader = Bitmap(evt.target.content);
e assim consegue converter o loader para um bitmap... mas como o transition necessita de movieclip não adianta nada...
código
var loader = Bitmap(evt.target.content);
e assim consegue converter o loader para um bitmap... mas como o transition necessita de movieclip não adianta nada...
código
CÓDIGO
import fl.transitions.*;
import fl.transitions.easing.*;
import flash.display.MovieClip;
// URLS dos arquivos
var img1:URLRequest = new URLRequest("Untitled-1.jpg");
var img2:URLRequest = new URLRequest("robo_sket.jpg");
// LOADERS dos arquivos
var loader:Loader = new Loader();
loader.load( img1 );
var loader2:Loader = new Loader();
loader2.load( img2 );
// Chama Preloader e Imagens
loader2.contentLoaderInfo.addEventListener(Event.COMPLETE , Exibir);
loader2.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS , ProgressoLoad);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE , Exibir2);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS , ProgressoLoad);
// PRELOADER
function ProgressoLoad(evt: ProgressEvent){
var percentagem = evt.bytesLoaded / evt.bytesTotal;
percentagem_txt.text= Math.floor(percentagem * 100) + "%";
}
// Exibir arquivo no Stage
function Exibir2(evt: Event){
TransitionManager.start(loader as MovieClip, {type:Zoom, direction:Transition.IN, duration:1, easing:Bounce.easeOut});
addChild(loader);
}
function Exibir(evt: Event){
addChild(loader2);
}
// BOTÕES dos arquivos carregados
loader.addEventListener( MouseEvent.CLICK, imagem_1 );
loader2.addEventListener( MouseEvent.CLICK, imagem_2 );
function imagem_1 (nomeDoEvento:MouseEvent):void{
trace( "Você clicou na imagem 1 ", nomeDoEvento.target );
}
function imagem_2 (nomeDoEvento:MouseEvent):void{
trace( "Você clicou 2º imagem " + nomeDoEvento.target );
}
// Posição dos arquivos
loader.x = 100;
loader.y = 10;
import fl.transitions.easing.*;
import flash.display.MovieClip;
// URLS dos arquivos
var img1:URLRequest = new URLRequest("Untitled-1.jpg");
var img2:URLRequest = new URLRequest("robo_sket.jpg");
// LOADERS dos arquivos
var loader:Loader = new Loader();
loader.load( img1 );
var loader2:Loader = new Loader();
loader2.load( img2 );
// Chama Preloader e Imagens
loader2.contentLoaderInfo.addEventListener(Event.COMPLETE , Exibir);
loader2.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS , ProgressoLoad);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE , Exibir2);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS , ProgressoLoad);
// PRELOADER
function ProgressoLoad(evt: ProgressEvent){
var percentagem = evt.bytesLoaded / evt.bytesTotal;
percentagem_txt.text= Math.floor(percentagem * 100) + "%";
}
// Exibir arquivo no Stage
function Exibir2(evt: Event){
TransitionManager.start(loader as MovieClip, {type:Zoom, direction:Transition.IN, duration:1, easing:Bounce.easeOut});
addChild(loader);
}
function Exibir(evt: Event){
addChild(loader2);
}
// BOTÕES dos arquivos carregados
loader.addEventListener( MouseEvent.CLICK, imagem_1 );
loader2.addEventListener( MouseEvent.CLICK, imagem_2 );
function imagem_1 (nomeDoEvento:MouseEvent):void{
trace( "Você clicou na imagem 1 ", nomeDoEvento.target );
}
function imagem_2 (nomeDoEvento:MouseEvent):void{
trace( "Você clicou 2º imagem " + nomeDoEvento.target );
}
// Posição dos arquivos
loader.x = 100;
loader.y = 10;
#5
Posted 03 March 2010 - 03:18 PM
Ok. Se não foi com Casting. Vamos tentar um truque ninja.
Basicamente, cria um MovieClip, e depois adiciono o objeto Loader nesse MovieClip.
Agora que o objeto Loader já está dentro de um Movieclip, e é tudo que o flash quer saber nesse método TransitionManager.start(), que é ter um movieclip no 1º argumento.
Aqui funcionou que é uma beleza.
Veja se dá certo pro que você quer.
Obs:
Basta ter uma imagem qualquer com nome imagem.jpg na mesma pasta do seu arquivo Fla pra esse teste.
AS3:
Abraço.
Basicamente, cria um MovieClip, e depois adiciono o objeto Loader nesse MovieClip.
Agora que o objeto Loader já está dentro de um Movieclip, e é tudo que o flash quer saber nesse método TransitionManager.start(), que é ter um movieclip no 1º argumento.
Aqui funcionou que é uma beleza.
Veja se dá certo pro que você quer.
Obs:
Basta ter uma imagem qualquer com nome imagem.jpg na mesma pasta do seu arquivo Fla pra esse teste.
AS3:
CÓDIGO
import fl.transitions.*;
import fl.transitions.easing.*;
var imgUrl:URLRequest = new URLRequest("imagem.jpg"); //sua imagem externa carregada pelo loader
var arquivoExternoMc:MovieClip = new MovieClip(); //vai segurar o loader com conteudo carregado
var loader:Loader = new Loader(); //vai carregar imagem externa
loader.load( imgUrl ); //carrega imagem
loader.contentLoaderInfo.addEventListener(Event.INIT, exibirImagem); //aplico evento, quando carregado...
addChild(arquivoExternoMc); //adiciono o movieclip no stage
arquivoExternoMc.addChild(loader); //adiciono o objeto Loader dentro do movieclip
/*função de evento: Event.INIT,
quando completo o carregamento e iniciado(ativo/visivel) no stage,
começo manipular o objeto carregado.*/
function exibirImagem(e:Event):void
{
trace("carregou imagem e aplica efeito");
TransitionManager.start(arquivoExternoMc, {type:Zoom, direction:Transition.IN, duration:1, easing:Bounce.easeOut});
}
import fl.transitions.easing.*;
var imgUrl:URLRequest = new URLRequest("imagem.jpg"); //sua imagem externa carregada pelo loader
var arquivoExternoMc:MovieClip = new MovieClip(); //vai segurar o loader com conteudo carregado
var loader:Loader = new Loader(); //vai carregar imagem externa
loader.load( imgUrl ); //carrega imagem
loader.contentLoaderInfo.addEventListener(Event.INIT, exibirImagem); //aplico evento, quando carregado...
addChild(arquivoExternoMc); //adiciono o movieclip no stage
arquivoExternoMc.addChild(loader); //adiciono o objeto Loader dentro do movieclip
/*função de evento: Event.INIT,
quando completo o carregamento e iniciado(ativo/visivel) no stage,
começo manipular o objeto carregado.*/
function exibirImagem(e:Event):void
{
trace("carregou imagem e aplica efeito");
TransitionManager.start(arquivoExternoMc, {type:Zoom, direction:Transition.IN, duration:1, easing:Bounce.easeOut});
}
Abraço.
Share this topic:
Page 1 of 1
Similar Topics
| Topic | Forum | Started By | Stats | Last Post Info | |
|---|---|---|---|---|---|
|
Efeito pincel de tinta na parede
como faz para fazer esse efeito? |
Fireworks |
alessandrolandim
|
|
|
|
Barras de rolagem...
Como eu insiro? |
Director |
darius
|
|
|
|
Avaliem a página
como está ficando? |
Avaliação |
zaratine
|
|
|
|
Comissão proíbe executivo de procurar investidor no Twitter
|
Notícias |
Notícias
|
|
|
|
MTV estréia programa gravado com câmera de celular
|
Notícias |
Notícias
|
|
|
|
"Google Street View" gera polêmica com imagens constrangedoras pelo país
|
Notícias |
Notícias
|
|
|
|
RIM lança primeiro BlackBerry com flip
|
Notícias |
Notícias
|
|
|
|
Asustek começará a vender computadores tablet em janeiro
|
Notícias |
Notícias
|
|
Publicidade
|
|

Help













