Flash3D update Sphere e Cube
Adicionei alguns recursos novos as classes. Em um post comentei sobre o drawTriangles, tanto a esfera 3D quanto o material puderam ser aplicados usando o drawTriangles.
Vi no filme de features do Flash Player um dvd box, achei legal para demonstrar o suporte implementado de depth no objeto Cube.
CUBE 3D
SPHERE 3D
Cube
- Suporte a material externo.
- Suporte a largura, altura e profundidade independentes.
- Suporte a animação usando engines de animação como o Tweener.
Sphere
- Implementado a construção de Sphere 3D.
- Suporte a material.
- Suporte a animação usando engines de animação como o Tweener.
A principal diferença entre os métodos é que o preprendRotation rotaciona com graus absolutos, enquanto o appendRotation rotaciona por incremento.
O appendRotation é usado para rotacionar o cubo por ele ser composto, e desta forma não é possível aplicar rotação absoluta, eu não posso por exemplo aplicar a rotação 0, 0; o que resultaria em um reset, pois o mesmo trabalha por incremento, mas não é um problema, é possível solucionar esta questão facilmente.
Logo abaixo um resumo das mudanças e novos recursos do Cube.
Método Construtor.
new Cube(_m:Object = null, _w:Number = 200, _h:Number = 200, _d:Number = 200):void
Iniciando um Cubo.
var dvd:Cube = new Cube({top: 0xFF0000, bottom: 0x00FF00, front: 0x0000FF, back: 0x00FFFF, left: 0xFFFF00, right: 0xFF00FF}, 240, 330, 24); var mc:Sprite = dvd.drawCube(); addChild(mc);
Caso prefira, cada propriedade pode ser setada separadamente. Lembrando, os materiais suportados são: cores, bitmaps, movieclips e imagens externas (passe uma string com o caminho da imagem);
var dvd:Cube = new Cube(); dvd.material = {top: 0xFF0000, bottom: 0x00FF00, front: 0x0000FF, ack: 0x00FFFF, left: 0xFFFF00, ight: 0xFF00FF}; dvd.width = 240; dvd.height = 330; dvd.depth = 24; var mc:Sprite = dvd.drawCube(); addChild(mc);
Rotação:
dvd.rotationX = 45; //ou usando uma engine de animação Tweener.addTween(dvd, {rotationX: 45, time: 2});
Pode-se trocar também o material, não é tão boa quanto a da esfera, mas trabalha corretamente.
dvd.material = { material aqui ..}; dvd.update();
A espera é praticamente a mesma coisa.
var s:Sphere = new Sphere(new myImage(0, 0), 5); var ssphere:Sprite = s.drawSphere(); addChild(ssphere);
[updadte]Coloquei no Google Code para download os exemplos e a nova versão da classe.[/updadte]
[updadte]As classes estão disponíveis em outro post.[/updadte]




October 23rd, 2008 at 19:50
Puts Erick, to acompanhando direto aqui os seus últimos posts, e achei demais essa iniciativa de dissecar o cs4, e ainda gostei tbm desse projeto eFlash3D, que no caso vai facilitar as coisas (que aliás me parecem que ficaram bem mais faceis nesse cs4).
Bem sou membro do flash masters e abri um tópico sobre Engines 3D para flash, e acabei citando o seu blog e os seus experimentos qndo falei da classe Matrix3D. Tudo bem em “divulgar” o seu blog e no caso os seus labs?
Link: http://flashmasters.net/index.php?option=com_smf&Itemid=2&topic=48267.0 , se tiver eu tiro numa boa.
Flw velho, um abraço!
October 23rd, 2008 at 23:19
Nossa, realmente um bom trabalho, parabéns!
Espero que a engine continue a crescer.
Boa sorte!
October 24th, 2008 at 8:10
@Marcos obrigado! Qualquer apoio é apreciado =)
@Rafael Obrigado, =D vai continuar sim, nos próximos updates a engine vai se aproximar mais do que quero.
October 24th, 2008 at 10:32
Pô sempre as melhores novidades aqui hein….. show de bola, Parabéns mais uma vez…
Erick será que os usuários logo irão atualizar seus flash players para o 10??? caso contrário a principio fica inviável nossos desenvolvimentos em 3d certo? ou não?
parabéns.
October 24th, 2008 at 10:48
Oi Rafael, obrigado. =)
Em relação ao Flash Player vai ser muito tranquilo, uma simples atualização do Flash Player 9 para 9.0.115 no segundo mês ultrapassou 85%, isso porque era um atualização “insignificante”.. vamos ficar de olho, eu aposto em no máximo dezembro para o Flash Player 10 atingir a porcentagem acima de 90%.
October 27th, 2008 at 14:38
Salve Erick
Não consegui abrir o arquivo com o Flash Cs3, só abre no CS4 ?
Abs!
October 28th, 2008 at 12:06
Oi Lucas,
Só no CS4 mesmo. =/
Abs.
November 18th, 2008 at 13:53
Muito bom Erick!
Bom, eu teria somente uma sugestao para dar.. Ao inves da funcao drawCube ou drawSphere, voce podia utilizar o mesmo nome para tal.. Usar por exemplo, somente o “draw”. Ou “build”, “init”, etc..
Acho que fica um pouco mais usual.
June 24th, 2009 at 13:52
Muito legal os tutos. Já tinha lido algo sobre o assunto mas estava sem tempo pra estudo.
Só uma dúvida, funciona normal no flash, mas a hr q publico no html fica tudo zicado. Por que será?
abras.
August 1st, 2009 at 21:15
Muito bom man, Muito bom MESMO… Parabéns, estou conhecendo o projeto hoje, e fiquei muito feliz com isso… tenho nem o que dizer, magnifico, trabalho lindo que você esta fazendo viu… muito leve e bastante funcional. PARABÉNS!
August 2nd, 2009 at 20:29
Man testei ontem a classe e gostei bastante… só vi algumas coisas que não sei se foi de proposito… a versão 0.2 o doRotation e o size, não funfam… so na versão 0.15, e mesmo assim se você fizer o size maior do que o obj e originalmente ele da erro… mas você esta de parabens man, gostei bastante mesmo viu. continue assim, quem sabe não vira um papervision pt-br huEHuHEuhEUhE… mas e serio jaja se chega lá. hehe, brincadeiras a parte esta muito bacana man, dou toda a força para você continuar. abraço.
October 15th, 2009 at 13:45
@Oi Lucas, valeu, fiz o que você sugeriu.
@Paulo, obrigado hehe, mas a intenção é apenas para estudo. =)