Curso AS3

Flash CS4, Classe Matrix3D

Para compensar a falta de posts, este mês vou tentar escrever com frequência sobre as novidades do Flash CS4 na programação.

Para poder ver exemplos de posts como este você vai precisar instalar o Flash Player 10.

Neste primeiro post vou começar com uma das novidades que mais me animou, a possibilidade de criação de animações em 3D nativamente.

O exemplo abaixo usa o método prependRotation da classe Matrix3D para rotacionar um movieclip.

package
{
	import flash.display.MovieClip;
	import flash.geom.*;
	import flash.events.MouseEvent;
 
	public class matrix3DRotation extends MovieClip
	{
		//objecto mcball, classe associada ao mc na biblioteca
		private var goku:mcball;
 
		public function matrix3DRotation():void
		{
			//cria um novo objeto mcball e adiciona no palco
			this.goku = new mcball();
			addChild(this.goku);
 
			//setar as poições x, y e o novo eixo z
			this.goku.x = stage.stageWidth/2;
			this.goku.y = stage.stageHeight/2;
			this.goku.z = 1;
 
			//evento para atualizar a rotação do mc de acordo com o mouse
			stage.addEventListener(MouseEvent.MOUSE_MOVE, upRotation);
		}
 
		private function upRotation(evt:MouseEvent):void
		{
			//o método prependRotation da classe matrix3D é o responsável por rotacionar o objeto
			//os parâmetros aplicados são graus e eixo de rotação
			//o eixo é setado através de contantes da classe Vector3D,
			//por exemplo, a constante Vector3D.X_AXIS corresponde ao eixo X
			this.goku.transform.matrix3D.prependRotation(this.mouseX/60, Vector3D.X_AXIS);
			this.goku.transform.matrix3D.prependRotation(this.mouseY/60, Vector3D.Y_AXIS);
		}
	}
}

Abaixo o exemplo rodando, mova o mouse sobre o filme para rotacionar o mc.

This movie requires Flash Player 8.

10 Responses to “Flash CS4, Classe Matrix3D”

  1. Diego Says:

    Cara muito legal o seu post. Fiquei muito interesando nessa nova tecnologia, da asas pra imaginação mesmo.

  2. Flash CS4, eFlash3D Cube com suporte a materiais - Erick Souza Says:

    [...] comentei no post anterior sobre o framework 3D, eFlash3D, que estou desenvolvendo utilizando os novos recursos do Flash CS4, acabei a implementação de materiais (imagem, vídeo e movieclip) na classe do Cubo 3D. O [...]

  3. Celso Says:

    Cara, tentei executar aqui no flash cs4 mas não consegui simular o efeito acima.
    Não entendi também a parte onde ele fala o seguinte:
    private var goku:mcball;
    o objeto mcball é uma outra classe?

  4. Erick Souza Says:

    Oi Celso, o mcball é o “linkage” da imagem na biblioteca, a partir do AS3 o objeto é associado a uma classe, neste caso mcball, não precisa criá-la, o Flash cria na compilação. =)

  5. André D´Angelo Says:

    Show de Bola Erick!!!

    Eu estava tentando mudar diretamente o .z hahha, mc.z +=1 por ex, e não estava conseguindo!

    Vlw!

  6. André D´Angelo Says:

    Erick, há como ao largar o mouse, o objeto voltar (se movimentando com o rotation) para sua posição original? Porque eu tentei aqui, mas não achei o atributo do mc que o Rotation distorce, para fazer uma validação(if) que quando chegar em tal rotação por exemplo ele para.

    Abçs!

  7. Pozycjonowanie Says:

    Great lession indeed!! a lot of thanks.for posting? this instructive article.

  8. Jocuri online 3d Says:

    Jocuri online 3d…

    [...]Flash CS4, Classe Matrix3D - Erick Souza[...]…

  9. Arla Alltop Says:

    I needed to draft you this very little note to finally give many thanks over again for all the pleasing thoughts you’ve shown on this page. This is certainly surprisingly generous with you to supply openly all many individuals would’ve advertised as an e-book to generate some cash for themselves, particularly since you could have tried it if you wanted. These good tips additionally served like the good way to understand that the rest have a similar eagerness really like mine to understand great deal more with regards to this issue. Certainly there are many more enjoyable instances up front for individuals who scan your blog.

  10. Moncler jackets Says:

    First of all, permit my loved ones acknowledge an individual?s demand while doing this concern. Although this is certainly completely new , by way of absolutely no meanstheless promptly shortly after signing up your site, that intelligence has got boomed thoroughly. Make it possible for all of us to bear in mind hold of a?azines rss feed to support manage in touch with in the least probable mail messages Genuine have an understanding of nevertheless may pass it on to help admirers along with my tailored are located participants

Leave a Reply