h1

Finalmente finalizado

18 de novembro de 2008

É isso aê gente. o projeto está no ar neste link: http://www.newgrounds.com/portal/view/469669

Deu muito trabalho no percurso até a conclusão, mas valeu a pena. e como Comemoração estou postando aqui abaixo o AS Code que desenvolvi para gerenciar mos cenários na animação e alguns dos melhores momentos da animação.

O custo de uma linguada

O custo de uma linguada

 
 
 
 
 
 
 
 
 
 
 
 
 
Heroi e Vilão... aff clichê

Heroi e Vilão... aff clichê

 

Até as forças do bem agem covardemente as vezes

Até as forças do bem agem covardemente as vezes

 
Ninjas em cena... quem é mais habilidoso?

Ninjas em cena... quem é mais habilidoso?

Meu primeiro AS Code – sintam-se livres para mexer e melhora-lo se possivel, eu também estou trabalhando em uma segunda versão muito mais otimizada que atualmente contém metade das linhas dessa primeira versão e usa muito menos variáveis.

No primeiro keyframe do palco:
_global.movx1 =_root.master._x
_global.movxplan1 = _root.plan1._x
_global.movxplan2 = _root.plan2._x
_global.movy1 =_root.master._y
_global.movyplan1 = _root.plan1._y
_global.movyplan2 = _root.plan2._y
Agora no segundo Keyframe do palco eu criei um MC com 2 frames e coloquei o seguinte código:
No primeiro Keyframe do MC:
var movx2:Number =_root.master._x
 if (_global.movx1 < movx2){
  var movx3d:Number = (movx2 – _global.movx1)  
  var movxpplan1:Number = (movx3d / 1.8)
  _root.plan1._x = (_global.movxplan1 + movxpplan1)
  var movxpplan2:Number = (movx3d / 6)
  _root.plan2._x = (_global.movxplan2 + movxpplan2)
  _global.movx1 =_root.master._x
  _global.movxplan1 = (movxplan1 + movxpplan1)
  _global.movxplan2 = (movxplan2 + movxpplan2)
 }
 if (_global.movx1 > movx2){
  var movx3d:Number = (_global.movx1 – movx2)
  
  var movxpplan1:Number = (movx3d / 1.8)
  _root.plan1._x = (movxplan1 – movxpplan1)
  var movxpplan2:Number = (movx3d / 6)
  _root.plan2._x = (movxplan2 – movxpplan2)
  _global.movx1 =_root.master._x
  _global.movxplan1 = (movxplan1 – movxpplan1)
  _global.movxplan2 = (movxplan2 – movxpplan2)
 }
var movy2:Number =_root.master._y
 if (_global.movy1 < movy2){
  var movy3d:Number = (movy2 – _global.movy1)
  
  var movypplan1:Number = (movy3d / 1.1)
  _root.plan1._y = (_global.movyplan1 + movypplan1)
  var movypplan2:Number = (movy3d / 1.2)
  _root.plan2._y = (_global.movyplan2 + movypplan2)
  var movypplan3:Number = (movy3d / 1.9)
  _root.lua._y = (_global.movylua + movypplan3)
  
  _global.movy1 =_root.master._y
  _global.movyplan1 = (_global.movyplan1 + movypplan1)
  _global.movyplan2 = (_global.movyplan2 + movypplan2)
  _global.movylua = (_global.movylua + movypplan3)
 }
 if (_global.movy1 > movy2){
  var movy3d:Number = (_global.movy1 – movy2)
  
  var movypplan1:Number = (movy3d / 1.1)
  _root.plan1._y = (movyplan1 – movypplan1)
  var movypplan2:Number = (movy3d / 1.2)
  _root.plan2._y = (movyplan2 – movypplan2)
  var movypplan3:Number = (movy3d / 1.9)
  _root.lua._y = (_global.movylua – movypplan3)
  _global.movy1 =_root.master._y
  _global.movyplan1 = (movyplan1 – movypplan1)
  _global.movyplan2 = (movyplan2 – movypplan2)
  _global.movylua = (_global.movylua – movypplan3)
 }

No Segundo Keyframe do MC:

gotoAndPlay(1);
Esse código gerencia 3 cenários no planos de fundo na forma de MCs respectivamente nomeados:  plan1, plan2 e lua. Há um cenário principal chamado master que deverá ser movido através de interpolações de movimento.
O código descrito acima trabalha com proporções da posição atual e posição final, matematicamente falando X = X1 – X2  e Y = Y1 – Y2  ou X = X2 – X1 e Y = Y2 – Y1 dependendo da posição em que o MC master esteve e está na tela.
Claro que a cada vez que o cenário for modificado o código também deverá ser atualizado dependendo das proporções de distância que houverem entre os planos. Para isso basta alterar todos os números multiplicadores que seguem dentro dos parênteses proporcionalmente a distância desejada( movy3d / 1.2 ). Leve em conta que 1 é igual ao mesmo movimento da camada mestre, 2 é igual a metade , 4 será igual a 1/4 e assim por diante… como uma PG.
Bom é só por enquanto… quando eu tiver concluido minha segunda versão do código eu postarei aqui também para todos, porque achei esse um pouco eficiente na troca embora seja uma mão na roda pra quem não tem nada.

 

Anúncios

6 comentários

  1. Don’t understand all the codes but, thanks for making episode 2:)

    Waiting for number 3!
    can’t wait for my brain to twist!


  2. LOL… your brain will twisted… wait and trust. My brain is twisted now… imagine after finished. LOL


  3. Excelente trabalho! =D
    Meus parabéns!


    • Fico feliz que tenha gostado…


  4. Hello. I wish to make an awesome video like yours. I see your page is all in a different language that i dont understand. Is there any way you can translate for me? What programs do you use and where can I get them? PLEASE PLEASE PLEASE HELP. This is my dream.

    Much Appreciated,

    Aaron


    • You can read my blog using on-line translators, I’m talking on portuguese, so use http://babelfish.yahoo.com/ portuguese to english… will have some errors on translation… LOL …. but you can get the essence.



Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: