Archive for novembro \18\UTC 2008

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.