13.08.2012 Views

ACTIONSCRIPT 3 Developer’s Guide en

ACTIONSCRIPT 3 Developer’s Guide en

ACTIONSCRIPT 3 Developer’s Guide en

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>ACTIONSCRIPT</strong> 3.0 DEVELOPER’S GUIDE<br />

Working in three dim<strong>en</strong>sions (3D)<br />

The following example shows two ways of performing multiple 3D transformations.<br />

package {<br />

import flash.display.Sprite;<br />

import flash.display.Shape;<br />

import flash.display.Graphics;<br />

import flash.geom.*;<br />

public class Matrix3DTransformsExample ext<strong>en</strong>ds Sprite<br />

{<br />

private var rect1:Shape;<br />

private var rect2:Shape;<br />

public function Matrix3DTransformsExample():void<br />

{<br />

var pp:PerspectiveProjection = this.transform.perspectiveProjection;<br />

pp.projectionC<strong>en</strong>ter = new Point(275,200);<br />

this.transform.perspectiveProjection = pp;<br />

}<br />

}<br />

}<br />

rect1 = new Shape();<br />

rect1.x = -70;<br />

rect1.y = -40;<br />

rect1.z = 0;<br />

rect1.graphics.beginFill(0xFF8800);<br />

rect1.graphics.drawRect(0,0,50,80);<br />

rect1.graphics.<strong>en</strong>dFill();<br />

addChild(rect1);<br />

rect2 = new Shape();<br />

rect2.x = 20;<br />

rect2.y = -40;<br />

rect2.z = 0;<br />

rect2.graphics.beginFill(0xFF0088);<br />

rect2.graphics.drawRect(0,0,50,80);<br />

rect2.graphics.<strong>en</strong>dFill();<br />

addChild(rect2);<br />

doTransforms();<br />

private function doTransforms():void<br />

{<br />

rect1.rotationX = 15;<br />

rect1.scaleX = 1.2;<br />

rect1.x += 100;<br />

rect1.y += 50;<br />

rect1.rotationZ = 10;<br />

}<br />

var matrix:Matrix3D = rect2.transform.matrix3D;<br />

matrix.app<strong>en</strong>dRotation(15, Vector3D.X_AXIS);<br />

matrix.app<strong>en</strong>dScale(1.2, 1, 1);<br />

matrix.app<strong>en</strong>dTranslation(100, 50, 0);<br />

matrix.app<strong>en</strong>dRotation(10, Vector3D.Z_AXIS);<br />

rect2.transform.matrix3D = matrix;<br />

Last updated 6/6/2012<br />

361

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!