Archive for May 26th, 2009

Tweening a “moveForward()” behavior

Tuesday, May 26th, 2009 | examples | Comments


source

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package
{
	import flash.events.MouseEvent;
 
	import gs.TweenMax;
 
	import org.papervision3d.core.math.Matrix3D;
	import org.papervision3d.core.math.Number3D;
	import org.papervision3d.core.proto.MaterialObject3D;
	import org.papervision3d.materials.WireframeMaterial;
	import org.papervision3d.objects.primitives.Arrow;
	import org.papervision3d.view.BasicView;
 
	[SWF(width="900", height="480", backgroundColor="#000000", frameRate="31")]
	public class TweeningMoveForward extends BasicView
	{
		private var arrow:Arrow;
 
		public function TweeningMoveForward()
		{
			super(900, 480);
			opaqueBackground = 0x000000;
 
			camera.y = 2000;
 
			var material:MaterialObject3D = new WireframeMaterial(0xff0000, 1, 2);
			arrow = new Arrow(material);
			arrow.rotationX = 30;
			arrow.rotationY = 30;
			scene.addChild(arrow);
 
			startRendering();
 
			stage.addEventListener(MouseEvent.CLICK, stage_clickHandler);
		}
 
		protected function stage_clickHandler(event:MouseEvent):void
		{
			var distance:Number = 3000;
			var forwardAxis:Number3D = new Number3D(0, 0, 1);
 
			Matrix3D.rotateAxis(arrow.transform, forwardAxis);
 
			var target:Number3D = new Number3D();
			target.x = distance * forwardAxis.x + arrow.x;
			target.y = distance * forwardAxis.y + arrow.y;
			target.z = distance * forwardAxis.z + arrow.z;
 
			TweenMax.to(arrow, 1, {x:target.x, y:target.y, z:target.z});
		}
	}
}

Tags:

Search

Recommended Books

Speaking at FITC Toronto

 

May 2009
M T W T F S S
« Apr   Jun »
 123
45678910
11121314151617
18192021222324
25262728293031

Preferred Video Tutorial Resolution

  • 1024x768 (53%, 85 Votes)
  • 1280x1024 (15%, 24 Votes)
  • 1920x1080 (15%, 24 Votes)
  • 800x600 (13%, 20 Votes)
  • 480x320 (4%, 6 Votes)
  • 640x480 (0%, 2 Votes)

Total Voters: 160

Loading ... Loading ...