Publicidade
|
|
Dúvida com utilização da classe Motion (AS 2.0)
#1
Posted 29 April 2009 - 12:00 PM
Se eu possuir um Movie Clip (filme_mc) existente no palco e quiser que ele seja movido e dimensionado pelo clique do mouse por outros MCs, como faria isso?
Queria usar uma classe tween para tal, como a tweenLite (por exemplo)
Realizaria um onEnterframe no palco que o "filme_mc" esteja e se algum outro MC for clicado o filme_mc moveria dinamicamente por essa classe, seria isso?
A idéia é que se o click for executado algum outro MC ele move (com ease) e aumenta as dimensões dele para + 400 px, por exemplo. Depois se eu clicar em outro botao ele dimensiona pro tamanho original, usando ease e apaga o "filme_mc" com um visible = false;
Estaria certa essa lógica?
Abraços!
#2
Posted 29 April 2009 - 12:45 PM
Não precisa colocar "onEnterFrame" não, basta colocar um evento "onRelease" nos MovieClips que você quer queexecutem algum tipo de ação.
Por exemplo, você tem o MovieClip "botao" e quer que quando ele seja clicado o seu MovieClip "filme_mc" seja aumentado...
Faz por tween.
Assim:
botao.onRelease = function () {
var tamanhoX:Tween = new Tween(filme_mc, "_width", Elastic.easeOut, filme_mc._width, filme_mc._width+400, 3, true);
var tamanhoY:Tween = new Tween(filme_mc, "_height", Elastic.easeOut, filme_mc._height, filme_mc._height+400, 3, true);
}
Isso deverá fazer com que seu MovieClip "filme_mc" mude de tamanho quando voce clicar no outro MovieClip.
Eu estou no trabalho e não tenho como testar se esta funcionando, da uma testada ai e ve se você entendeu o esquema.
De qualquer forma tem uma parte de tutoriais no site do MXSTUDIO com varios tutoriais falando disso, procure pelos que foram feitos pelo Natan, que estão super bem explicados !
Abração !
#3
Posted 29 April 2009 - 02:38 PM
Não precisa colocar "onEnterFrame" não, basta colocar um evento "onRelease" nos MovieClips que você quer queexecutem algum tipo de ação.
Por exemplo, você tem o MovieClip "botao" e quer que quando ele seja clicado o seu MovieClip "filme_mc" seja aumentado...
Faz por tween.
Assim:
botao.onRelease = function () {
var tamanhoX:Tween = new Tween(filme_mc, "_width", Elastic.easeOut, filme_mc._width, filme_mc._width+400, 3, true);
var tamanhoY:Tween = new Tween(filme_mc, "_height", Elastic.easeOut, filme_mc._height, filme_mc._height+400, 3, true);
}
Isso deverá fazer com que seu MovieClip "filme_mc" mude de tamanho quando voce clicar no outro MovieClip.
Eu estou no trabalho e não tenho como testar se esta funcionando, da uma testada ai e ve se você entendeu o esquema.
De qualquer forma tem uma parte de tutoriais no site do MXSTUDIO com varios tutoriais falando disso, procure pelos que foram feitos pelo Natan, que estão super bem explicados !
Abração !
Sim, perfeito!
Mas e se tivesse 4 mcs e que só uma vez um deles clicado o filme_mc acontece?
Porque eu tava fazendo partir desse pressuposto:
Você possui 4 mcs: botao_mc, botao2_mc, botao3_mc, botao4_mc e o clique que ativa o filme_mc é só um, portanto, quando faço os MCs e aplico a eles a propriedade dos Tweens, quando clico de novo acontece o tween.. Existe alguma forma de manipular os eventos se o mouse for clicado?
Pensei em um Booleano para o click, se for clicado uma vez = true; caso nao for clicado = false..
Mas não sei por onde começar isso..
#4
Posted 29 April 2009 - 03:01 PM
Coloque o seguinte código aqui em seus botões:
if (_root.clicado == true) {
trace ("O filme já foi redimensionado !").
} else {
var tamanhoX:Tween = new Tween(filme_mc, "_width", Elastic.easeOut, filme_mc._width, filme_mc._width+400, 3, true);
var tamanhoY:Tween = new Tween(filme_mc, "_height", Elastic.easeOut, filme_mc._height, filme_mc._height+400, 3, true);
_root.clicado = true;
}}
E lembre-se de criar a variável "clicado" no primeiro frame do seu projeto. Simplesmente assim:
Ve se da certo ai !
Abração !
#5
Posted 29 April 2009 - 03:31 PM
Coloque o seguinte código aqui em seus botões:
if (_root.clicado == true) {
trace ("O filme já foi redimensionado !").
} else {
var tamanhoX:Tween = new Tween(filme_mc, "_width", Elastic.easeOut, filme_mc._width, filme_mc._width+400, 3, true);
var tamanhoY:Tween = new Tween(filme_mc, "_height", Elastic.easeOut, filme_mc._height, filme_mc._height+400, 3, true);
_root.clicado = true;
}}
E lembre-se de criar a variável "clicado" no primeiro frame do seu projeto. Simplesmente assim:
Ve se da certo ai !
Abração !
Perfeito, você é o cara!
Eu fiz exatamente isso, porém coloquei as variáveis do tween dentro de uma função chamada redimensionaLogo com as características lá dentro..
Aí deu certinho!
Agora me apareceu uma duvida..
dentro dessa função "redimensionaLogo" que possui todas as caracteristicas do redimensionamento do "filme_mc", como faço para criar um botão dinâmico quando a logo for redimensionada?
function redimensionaLogo () {
var tamanhoX:Tween = new Tween(logoZu, "_width", Strong.easeOut, logoZu._width, logoZu._width-350, 1, true);
var tamanhoY:Tween = new Tween(logoZu, "_height", Strong.easeOut, logoZu._height, logoZu._height-100, 1, true);
var escalaX:Tween = new Tween(logoZu, "_x", Strong.easeOut, logoZu._x, logoZu._x+20, 1, true);
var escalaY:Tween = new Tween(logoZu, "_y", Strong.easeOut, logoZu._y, logoZu._y-160, 1, true);
// Cria o botão
botao.Button = new Button();
}
Estou travando nessa hora! Porque quero adicionar as mesmas propriedades to tamanho e posicionamento baseado na tween, o botão é dinamico, ele nao existe no palco e nem na biblioteca..
Aí depois acionaria a função nele de carregar um filme externo.
Está certo em colocar dentro dessa função?
#6
Posted 30 April 2009 - 12:31 AM
Mas não vejo problemas nisso, basta arrastar um componente do tipo "button" para sua library.
Feito isso, o código abaixo vai funcionar perfeitamente.
function redimensionaLogo () {
var tamanhoX:Tween = new Tween(logoZu, "_width", Strong.easeOut, logoZu._width, logoZu._width-350, 1, true);
var tamanhoY:Tween = new Tween(logoZu, "_height", Strong.easeOut, logoZu._height, logoZu._height-100, 1, true);
var escalaX:Tween = new Tween(logoZu, "_x", Strong.easeOut, logoZu._x, logoZu._x+20, 1, true);
var escalaY:Tween = new Tween(logoZu, "_y", Strong.easeOut, logoZu._y, logoZu._y-160, 1, true);
// Criando seu Botão:
this.createClassObject(mx.controls.Button, "botao", 1, {label: "Seu Titulo"});
// Posicionando o botão
botao._x = 0; botao._y = 0
// Estabelecendo a função
botao.onRelease = function () {
trace ("Rafael Petribu");
}
}
Ve se vai !
Abração !
#7
Posted 30 April 2009 - 01:14 AM
Mas não vejo problemas nisso, basta arrastar um componente do tipo "button" para sua library.
Feito isso, o código abaixo vai funcionar perfeitamente.
function redimensionaLogo () {
var tamanhoX:Tween = new Tween(logoZu, "_width", Strong.easeOut, logoZu._width, logoZu._width-350, 1, true);
var tamanhoY:Tween = new Tween(logoZu, "_height", Strong.easeOut, logoZu._height, logoZu._height-100, 1, true);
var escalaX:Tween = new Tween(logoZu, "_x", Strong.easeOut, logoZu._x, logoZu._x+20, 1, true);
var escalaY:Tween = new Tween(logoZu, "_y", Strong.easeOut, logoZu._y, logoZu._y-160, 1, true);
// Criando seu Botão:
this.createClassObject(mx.controls.Button, "botao", 1, {label: "Seu Titulo"});
// Posicionando o botão
botao._x = 0; botao._y = 0
// Estabelecendo a função
botao.onRelease = function () {
trace ("Rafael Petribu");
}
}
Ve se vai !
Abração !
Foi! Valeu mesmo!!
Cara, acho que já é melhor deixar por aqui, você tirou todas as minhas dúvidas!
Tenho bastante dúvidas com a classe Tween e gostaria de sanar várias delas.. Principalmente quanto a navegação usando transitions, removendo conteudo de forma animada e puxando conteúdo de forma animada, etc..
Você entende disso? Ou alguém aqui no Fórum que entenda alguns conceitos de navegação no Flash.
#8
Posted 30 April 2009 - 03:29 PM
Pode perguntar sem problema !
Se ninguem souber a pior coisa que pode acontecer é você continuar como está hehehe...
Crie um tópico ai com suas dúvidas e vamos tentar sanar todas ok ?
Abração !
#9
Posted 30 April 2009 - 03:36 PM
Pode perguntar sem problema !
Se ninguem souber a pior coisa que pode acontecer é você continuar como está hehehe...
Crie um tópico ai com suas dúvidas e vamos tentar sanar todas ok ?
Abração !
Então Rafael, preciso criar outro tópico para tal?
Se for eu pego essa pergunta que fiz no post anterior ao seu e abro um novo tópico!!
Abração! Valeu mesmo!!
#10
Posted 30 April 2009 - 05:59 PM
Acho melhor criar um novo tópico já que vamos começar a tirar outras duvidas sobre um outro assunto....
Mas faça como preferir, pode continuar por aqui se quiser !
Abração !
#11
Posted 30 April 2009 - 06:37 PM
Acho melhor criar um novo tópico já que vamos começar a tirar outras duvidas sobre um outro assunto....
Mas faça como preferir, pode continuar por aqui se quiser !
Abração !
Então, tenho bastante dúvidas com a classe Tween e gostaria de sanar várias delas.. Principalmente quanto a navegação usando transitions, removendo conteudo de forma animada e puxando conteúdo de forma animada, etc..
Você manja disso?
Por exemplo, com AS2, posso fazer um primeiro keyframe calculando uma leitura através de labels?
Aí em cada label inserida nos keyframes seguintes ele executa um loadmovie com um Tween direcionando o movimento ou efeito que o container fará, isso é valido?
Existem outras formas de navegação, mas desconheço a lógica.
Espero que tenha sido claro!
Valeu mesmo Rafael!!!
Abraço!!
#12
Posted 30 April 2009 - 06:52 PM
Inclusive da para criarmos uma função randomica que cada hora vai direcionar o seu container para uma direção diferente....
Mas se você quiser que em cada frame ele va para uma direção exata tambem da para ser feito sem problemas....
O que você tem em mente ?
Abraço !
#13
Posted 01 May 2009 - 12:54 AM
Inclusive da para criarmos uma função randomica que cada hora vai direcionar o seu container para uma direção diferente....
Mas se você quiser que em cada frame ele va para uma direção exata tambem da para ser feito sem problemas....
O que você tem em mente ?
Abraço !
Fala irmão!
Então, exatamente isso!! Cara hora que o botao for clicado a função direciona uma sessão diferente e quando essa nova sessão vier, sai a que estava no palco (animada por codigo)
Seria como esse site aqui:
Site .
Agora, em OFF:
Baseado nessa idéia de Tween / Motion via código, seria possível colocar as Actions dessa função no primeiro keyframe e em outros 6 keyframes colocar um container _mc (pode ser gerado no código dinamicamente!) que carrega um conteúdo externo?
Mais ou menos como esse site aí, a transição é bem bacana. Mas quero aprender o básico mesmo, só de aprender a tirar o conteudo e colocar ele da forma desse site ja dá pra experimentar muitas outras formas!
Valeu mais uma vez!!!
PS: Esse que é o válido, o post de cima pode ser deletado!
#14
Posted 01 May 2009 - 10:37 AM
Existe MUITA coisa falando sobre Tween na internet, eu peguei algumas coisas para você.
Da uma olhada, estuda, faz seus exemplos e depois, se tiver dúvida venha perguntar !
http://www.mxstudio.com.br/flash/estudo_de...__classe_tween/
http://www.kirupa.com/developer/actionscript/tween_part2.htm
http://www.kirupa.com/developer/actionscript/tween.htm
http://www.kirupa.com/developer/mx2004/transitions.htm
Abração !
#15
Posted 01 May 2009 - 11:52 AM
Existe MUITA coisa falando sobre Tween na internet, eu peguei algumas coisas para você.
Da uma olhada, estuda, faz seus exemplos e depois, se tiver dúvida venha perguntar !
http://www.mxstudio.com.br/flash/estudo_de...__classe_tween/
http://www.kirupa.com/developer/actionscript/tween_part2.htm
http://www.kirupa.com/developer/actionscript/tween.htm
http://www.kirupa.com/developer/mx2004/transitions.htm
Abração !
Perfeito!! Esse sobre transitions tá massa demais de sacar!!
Já to estudando ele! Eu fiz um assim via as3! Dessa forma aí!
Vou ver se uso as Tween Class como a TweenLite, porque a Tween do próprio Flash parece que não é legal!
Vou construir um exemplo aqui e mostro como ficou, ja é?
Abração!!
#17
Posted 01 May 2009 - 02:10 PM
Fiz aqui, deu certinho.
Estou tendo problemas para aplicar no exemplo que fiz do redimensionamento de logo quando se clica no botão, mas beleza. O botão tá recebendo duas funções no onRelease (uma do redimensiona e outra de abrir o swf externo) mas isso eu deixo pra depois.
O que pega é a seguinte parada:
Eu tentei aplicar aqui o Tween , porque no exemplo do Kirupa ele lê pela timeline.. Mas o Tween Class não é movimentado na Timeline. Como faria para movimentar no swf externo, sem necessidade de timeline e isso se aplicar ao código?
Abração!
#18
Posted 01 May 2009 - 07:28 PM
Cria um MovieClip e instancia ele de 'holder'.
Dentro do MovieClip "holder" cria outro, pode ser instanciado de "holder" também, não tem problema.
Com isso você vai ter uma estrutura com 2 MovieClips, ambos chamados "holder", um dentro do outro.
Carrega seu conteudo externo no MovieClip "holder" interno, ou seja:
E sempre que quiser movimentar seu conteudo externo faça isso referenciando o primeiro "holder", ou seja:
Com isso você movimenta a estrutura toda.
E dentro dessa estrutura (holder) vai estar uma outra estrutura com seu SWF externo.
Arrastando o pai, você arrasta o filho.
Sacou ?
Abração !
#19
Posted 01 May 2009 - 08:46 PM
Cria um MovieClip e instancia ele de 'holder'.
Dentro do MovieClip "holder" cria outro, pode ser instanciado de "holder" também, não tem problema.
Com isso você vai ter uma estrutura com 2 MovieClips, ambos chamados "holder", um dentro do outro.
Carrega seu conteudo externo no MovieClip "holder" interno, ou seja:
E sempre que quiser movimentar seu conteudo externo faça isso referenciando o primeiro "holder", ou seja:
Com isso você movimenta a estrutura toda.
E dentro dessa estrutura (holder) vai estar uma outra estrutura com seu SWF externo.
Arrastando o pai, você arrasta o filho.
Sacou ?
Abração !
Bacana! Vou tentar movimentar esses conteúdos externos. A lógica é um holder é pra carregar e outro pra movimentar, certo? Senão dá pau na hora de aplicar o movimento e o carregamento de swf externos ao mesmo tempo, é isso?
O exemplo do Kirupa usa timeline, como faria para fazer o "intro" e a "outro" de cada um desses MCs externos dinamicamente?
Eu tenho aí 5 botões, eles vao carregar conteúdos externos. Quando um vem, ele vem animado (foi animado na timeline) e pára. Aí clico no outro botão (pode ser qualquer outra sessão) e retira a primeira animação (ele vai pra proxima keyframe do mc externo) e chama o novo mc externo... Beleza, saquei isso no site do Kirupa e manjei como faz.
Mas a treta é:
E se em cada MC externo eu quiser animr via Tween Class? Como faria?
Aqui está como funciona em cada mc externo:
No primeiro frame de um mc externo desse projeto está assim:
Isto é no frame 59 tem um stop;
Quando outro MC externo é chamado toca-se tudo depois do frame 59 desse filme e quando acaba tem um código na keyframe final , assim:
Lá no filme principal eu linkei os botões assim:
// Transition
if (_root.currMovie == undefined) {
_root.currMovie = "filme1";
_root.container_mc.loadMovie("filme1.swf");
} else if (_root.currMovie != "filme1") {
if (container._currentframe >=container.midframe) {
_root.currMovie = "filme";
container.play();
}
}
}
Cada botão está relacionando-se assim;
Enfim, a pergunta é: Como pegar essa lógica de "intro" e "outro" e aplicar em Tween Class, já que não tem timeline, como ele vai entender quando executar a de ida e a de volta?
Partindo daí eu já me viro, tô pegando essa parada, muito bom movimentar coisas por código, dá trabalho pra se pegar o ritmo, mas depois que pega flui que é uma beleza!!
Valeu Rafael, valeu mesmo!
Abração!!!
#20
Posted 02 May 2009 - 12:59 PM
1 - Como fazer para saber o momento exato em que um MovieClip vai sair do palco para que você possa entrar com o outro de maneira sincronizada.
2 - Depois que entender a lógica, como fazer.
É isso ?
Até porque se você for fazer tudo por programação é melhor que TODOS estejam se movimentando por actionscript.
Abração !
#21
Posted 02 May 2009 - 01:04 PM
1 - Como fazer para saber o momento exato em que um MovieClip vai sair do palco para que você possa entrar com o outro de maneira sincronizada.
2 - Depois que entender a lógica, como fazer.
É isso ?
Até porque se você for fazer tudo por programação é melhor que TODOS estejam se movimentando por actionscript.
Abração !
Isso! Não quero fazer via timeline, quero fazer td via código!
Saca?
#22
Posted 02 May 2009 - 02:17 PM
Vou disponibilizar um site que já tem todos estes prototypes prontos.
No link baixo você vai encontrar muita informação sobre tween, é um site muito bom para você enteder tanto dos tipos de animação (easeOut,EaseElastic...) como também como se faz para estruturar o código.
Aqui você tem as instruções e o link para realizar o download:
http://hosted.zeh.com.br/mctween/using.html
Aqui você vai encontrar como funciona cada tipo de animação de Tween:
http://hosted.zeh.com.br/mctween/animationtypes.html
Aqui você vai encontrar como estruturar cada comando:
http://hosted.zeh.com.br/mctween/documentation.html
Você vai reparar que ele já tem scripts prontos para transição de posição, tamanho, alpha, cor, escala...tudo. Eu só usso isso porque acho muito mais fácil de trabalhar, além de possuir algumas vantagens.
Para o seu caso a gente vai utilizar o comando "slideTo ()", que significa "deslizar para" em protugues.
É exatamente isso que você quer, que seu MovieClip deslize até um determinado lugar.
Se você clicar no link do "slideTo()" vai ver que ele possui essa estrutura:
<MovieClip|TextField>.slideTo(x, y [, seconds, animation type, delay, callback, extra1, extra2]);
O que esté entre os couchetes é opcional ("[...]"), mas nós vamos utilizar algumas coisas importantes, o que importa pra gente é o seguinte:
<MovieClip|TextField>.slideTo(x, y [, seconds, animation type, delay, callback]);
Simplificando:
seuMovieClip.slideTo(x, y, seconds, animation type, delay, callback);
Entendendo o comando:
seuMovieClip -> É o MovieClip que vai sofrer a ação.
slideTo -> É o comando para que ele deslize.
x e y -> São as coordenadas para qual você quer que ele deslize.
seconds -> É o tempo em segundos para que ela termine a animação.
animation type -> É o tipo de animação que você vai querer, para isso tem tudo detalhado no link acima que coloquei.
delay -> É o tempo que ela vai demorar para iniciar, normalmente a gente programa isso pra 0.
callback -> Isso é o que a gente precisa. Essa parte do comando estipula que função você vai querer executar assim que essa transição acabar.
Com esse callback, a gente pode estipular que que a gente quer fazer quando o seu "slideTo" terminar.
Supondo que você tenha uma função assim:
trace ("Fim");
}
E você quer que ela seja executada assim que seu processo de slide terminar, ou seja, faça o comando assim:
Repare que depois que o slide terminar você vai chamar a função 'aviso".
Com isso você pode manipular o tempo exato dos eventos de Tween de seu projeto.
Espero que tenha entendido, mas se pintar qualquer dúvida é só falar eim !
IMPORTANTE:
Não esqueça de sempre adicionar a seguinte linha de comando no primeiro frame de seu projeto caso queira utilizar estes comandos:
Abração !
#23
Posted 04 May 2009 - 05:46 PM
Hoje a noite trago para cá os exemplos e posto minhas dúvidas permeando essas grandiosas (e valiosas!) dicas sobre Tween Class.
Tentei fazer um exemplo de transição entre filmes externos com botoes via tween (sem códigos) e tive alguns probleminhas!
Abraço!
#24
Posted 06 May 2009 - 02:18 AM
Hoje a noite trago para cá os exemplos e posto minhas dúvidas permeando essas grandiosas (e valiosas!) dicas sobre Tween Class.
Tentei fazer um exemplo de transição entre filmes externos com botoes via tween (sem códigos) e tive alguns probleminhas!
Abraço!
Então, vamos lá:
Eu fiz um FLA aqui para testar..
Comecemos pela parte principal, o fla que possui os 3 botôes com um container para chamar os externos..
Então vamos ao código dos botões (cvoloquei um de exemplo só)
if (_root.currMovie == undefined) {
_root.currMovie = "filme1";
_root.container.loadMovie("filme1.swf");
} else if (_root.currMovie != "filme1") {
if (container._currentframe >= container.midframe) {
_root.currMovie = "filme1";
container.play();
}
}
}
Agora vamos ao filme externo e seu código:
// Entrando;
function aviso () {
quadrado.pauseTween(_alpha = 100);
trace("pausou");
_root.container.loadMovie(_root.currMovie+".swf");
}
quadrado._alpha = 0;
quadrado.alphaTo(100, 1, "linear");
quadrado.slideTo(200, 100 , 3, easeInQuad, 0, aviso);
A pergunta é Como faria para fazer o quadrado sair (via código) quando um outro botão for acionado e chamar o conteúdo do "filme2" animado (dinamicamente claro)?
E assim suscetivamente..
Era essa minha dúvida com os tweens. Eu faço ele vir quando o botão é clicado, mas nao faço ideia como removo ele (animado via codigo com tween) e faço outro filme externo entrar (tb animado via tween) e assim sucetivamente (para cada botao, independente da ordem)
Abraço!
#25
Posted 06 May 2009 - 10:35 PM
Bom, o quadro que vai carregar precisa estar inicialmente fora da tela, ou seja, no lado esquerdo do monitor, antes do início do stage....
Após que o carregamento for concluido você precisa dar um slideTo para move-lo até onde deseja.
Quando ele for sair ele precisa correr para o outro lado da tela, ou seja, no lado direito do monitor, após o fim do stage....
Da um slideTo para isso acontecer, e após ele ter completado o percurso manda ele de volta para a posição inicial (antes do stage), mas não usa um slideTo, apenas troque as propriedades X e Y dele, dessa forma ao inves de deslizar ele vai se teletransportar pro outro lado, sem ninguem nem notar.
Para organizar esses comandos todos de maneira legal eu aconselho você a fazer varias funções:
Ex:
function carrega () {
Aqui você coloca o MovieClip na posição inicial e carrega o conteudo externo
Quando acabar de carregar, chama a função desliza()
}
function desliza () {
Aqui você movimenta o MovieClip até a posição desejada no meio do stage.
}
function descarrega () {
Aqui você manda o MovieClip deslizar até depois do stage.
Quando acabar de deslizar, chame a função carrega() para recomeçar o processo.
}
Olha, não vou mentir, pra você que ta começando, existem MUITOS truques que você ainda não conhece e vai ficar complicado de montar isso sem dor de cabeça, mas como falei, se você for tentando vai descobrindo muitas coisas.
Como falei, se sentir dificuldades ME AVISA que a gente tenta melhorar ok ?
Abração !
#26
Posted 07 May 2009 - 01:08 AM
Estou iniciando mesmo velho, preciso de muita ajuda até me acostumar. Mas a vantagem é que tenho contato direto com o programa e pratico todos os dias..
Acho que isso ajuda! E você não tem idéia de como esses seus helps são úteis, cara!
Valeu mesmo!
Abraço, qualquer dúvida posto aqui.
#27
Posted 07 May 2009 - 06:22 AM
Estou iniciando mesmo velho, preciso de muita ajuda até me acostumar. Mas a vantagem é que tenho contato direto com o programa e pratico todos os dias..
Acho que isso ajuda! E você não tem idéia de como esses seus helps são úteis, cara!
Valeu mesmo!
Abraço, qualquer dúvida posto aqui.
Fala Rafael, beleza??
Vamos lá! Acho que fiz certinho... O único problema é executar as funções a partir dos botões!
Saca aí:
Fiz assim nos botôes do principal:
if (currMovie == undefined) {
currMovie = "filme1";
container.loadMovie("filme1.swf");
} else if (currMovie != "filme1") {
if (container._currentframe >= container_mc.midframe) {
currMovie = "filme1";
container.play();
}
}
}
this.botao2.onRelease=function(){
if (currMovie == undefined) {
currMovie = "filme2";
container.loadMovie("filme2.swf");
} else if (currMovie != "filme2") {
currMovie = "filme2";
container.play();
}
}
Minha dúvida aí é: Nos botoes eu faço que o segundo IF pegue detalhes do Tween com o método "getTween"? Poque o midframe que peguei como exemplo era para timeline, coloquei somente a função aí como exemplo..
Como faria isso, funcionar? Além do que se eu clico no botao2 (com o conteúdo do botao1 já carregado) ele não abre o "filme2.swf"! E vice-versa!
Agora vamos ao código de cada filme externo:
filme1.swf/filme2.swf estão assim:
// Entrando;
function carrega () {
quadrado._x = -113;
quadrado._y = 152.5;
}
quadrado.onEnterFrame = function(){
carrega();
delete this.onEnterFrame;
quadrado.tween(["_x", "_alpha"], [200, 100], 0.5, easeInQuad, 0, volta);
quadrado.lockTween(); // Fecha o filme;
delete this.onEnterFrame;
}
function volta () {
quadrado.tween(["_x", "_alpha"], [500, 100], 0.5, easeInQuad, 0, carrega);
}
Aí está o segredo, certo?
Quando chego no final ele me manda para o início, correto? Mas eu coloquei um "lockTween" ali porque foi a unica coisa que PAUSOU a animação! Caso contrário ele iria para a função "volta" de uma veze faria tudo de uma maneira linear!
Lembrando que fiz exatamente como você falou, o MC está antes do stage, quando ele passa no meio e vai para o outro canto ele já vai para a função "carrega" com as propriedades do X e Y determinadas, aí quem vê pensa que ele está sumido, enquanto somente voltou para a posição!
A grande dúvida é essa: Como manipular pelos botões essas propriedades colocadas nas funções de cada MC Externo? É só chamar no código do filme principal?
Aprendi bastante, cara! Me dê apenas uma luz para que possa tentar resolver isso "penando" mesmo! Quanto menos script pronto, mais eu aprendo.
É isso ai.
Abração!!!
#28
Posted 08 May 2009 - 01:01 AM
Tudo que acontece é feito por programação.
Ta bem simples, mas deve tirar algumas duvidas suas, qualquer coisa posta ae.
http://rapidshare.com/files/230452034/Desktop.rar.html
Abração !
#29
Posted 08 May 2009 - 10:23 AM
Tudo que acontece é feito por programação.
Ta bem simples, mas deve tirar algumas duvidas suas, qualquer coisa posta ae.
http://rapidshare.com/files/230452034/Desktop.rar.html
Abração !
Tu é O cara! Hoje a noite vou fazer um mini hotsite testando várias coisas que aprendi pro aqui! o hitTest, o Tween Class, o LoadClip e a classe MovieClipLoader e qualquer dúvida venho aqui!!
Tô aprendendo pra peste!
#31
Posted 08 May 2009 - 01:44 PM
Abração !
Isto é, tô aprendendo coisas que nao tinha a mínima noção!
Então saca essa:
container._x = -520;
container._y = 100;
container.removeMovieClip (holder)
container.createEmptyMovieClip ("holder",1);
container.holder.loadMovie (imagem_da_vez,1);
deslizaIn()
}
O que você fez aqui foi pegar o container, relocalizá-lo , remover o movieClip e criar outro (dando seu devido nome: holder), depois você criou um "imagem_da_vez", essa imagem_da_vez é uma variável para chamar dinamicamente qualquer conteúdo que for carregado no holder, correto?
Aí você utilizou o "imagem_da_vez" dentro da função dos botões:
Mas qual a necessidade do movieClip "container" lá no palco se você está usando um createMovieClip? Para evitar de usar classe (linkage) e um "addChild" depois para imprimir na tela caso o movieClip estivesse na library?!
É isso aí! Prefiro entender o código antes de começar a trampar o lance!
Valeu, hoje começo algo e amanhã já posto aqui pra gente!!
#33
Posted 11 May 2009 - 10:46 PM
Faz um teste, experimente não criar outro MovieClip e movimentar apenas o MovieClip container.
[]s
#34
Posted 12 May 2009 - 11:01 AM
Ao carregar um conteudo externopara dentro de um MovieClip você acaba perdento uma série de comandos sobre este.
Por este motivo, por segurança, o que a gente faz é criar um MovieClip no palco, só que ao invés de carregar o conteudo externo diretamente para dentro dele, a gente cria dinamicamente um novo MovieClip (no meu caso o holder) dentro do principal (container).
Depois de criar, a gente carrega o conteudo externo dentro do "holder", que esta dentro do "container", isso faz com que somente o "holder" perca algumas de suas propriedades, deixando o MovieClip "container" intacto !
Sendo assim, a gente movimenta o "container2, pois movimentando o "container" a gente movimenta o holder !
Como o Natan falou, se você não criar o "holder", e carregar diretamente no "container" provavelmente você pode ter problemas !
Abração !
#35
Posted 12 May 2009 - 01:05 PM
Ao carregar um conteudo externopara dentro de um MovieClip você acaba perdento uma série de comandos sobre este.
Por este motivo, por segurança, o que a gente faz é criar um MovieClip no palco, só que ao invés de carregar o conteudo externo diretamente para dentro dele, a gente cria dinamicamente um novo MovieClip (no meu caso o holder) dentro do principal (container).
Depois de criar, a gente carrega o conteudo externo dentro do "holder", que esta dentro do "container", isso faz com que somente o "holder" perca algumas de suas propriedades, deixando o MovieClip "container" intacto !
Sendo assim, a gente movimenta o "container2, pois movimentando o "container" a gente movimenta o holder !
Como o Natan falou, se você não criar o "holder", e carregar diretamente no "container" provavelmente você pode ter problemas !
Abração !
E essa regra se aplica ao AS3 também?
Share this topic:
Similar Topics
| Topic | Forum | Started By | Stats | Last Post Info | |
|---|---|---|---|---|---|
|
HTC prevê celular com Windows 7 no final deste ano
|
Notícias |
Notícias
|
|
|
|
E3 2007: Sony apresenta novo PSP com saída para TV
|
Notícias |
Notícias
|
|
|
|
Internet rivaliza com TV como fonte de lazer, afirma pesquisa
|
Notícias |
Notícias
|
|
|
|
Canon comemora 70 anos com nova versão da câmera EOS
|
Notícias |
Notícias
|
|
|
|
Posar com capa de LP vira mania na Internet, veja
|
Notícias |
Notícias
|
|
|
|
Google sela parcerias de conteúdo para novo sistema de TV com internet
|
Notícias |
Notícias
|
|
|
|
Hospital da Inglaterra suspende médicos por brincadeira com fotos
|
Notícias |
Notícias
|
|
|
|
DUVIDA COM HITEST
iniciante na area =) |
Desenvolvimento de Jogos |
Bob Marley
|
|
Publicidade
|
|

Help













