PerspectiveProjectionの練習
from http://help.adobe.com/ja_JP/as3/dev/WSA340940C-A537-450c-8069-A4A052A98CAA.html
♥0 |
Line 43 |
Modified 2011-07-26 00:32:29 |
MIT License
archived:2017-03-20 11:22:25
ActionScript3 source code
/**
* Copyright tsu_droid ( http://wonderfl.net/user/tsu_droid )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/vCTX
*/
// from http://help.adobe.com/ja_JP/as3/dev/WSA340940C-A537-450c-8069-A4A052A98CAA.html
package {
import flash.display.*;
import flash.geom.*;
public class Matrix3DTransformsExample extends Sprite {
private var rect1:Shape;
private var rect2:Shape;
public function Matrix3DTransformsExample():void {
var pp:PerspectiveProjection = this.transform.perspectiveProjection;
pp.projectionCenter = new Point(275,200);
this.transform.perspectiveProjection = pp;
rect1 = new Shape();
rect1.x = -70;
rect1.y = -40;
rect1.z = 0;
rect1.graphics.beginFill(0xFF8800);
rect1.graphics.drawRect(0,0,50,80);
rect1.graphics.endFill();
addChild(rect1);
rect2 = new Shape();
rect2.x = 20;
rect2.y = -40;
rect2.z = 0;
rect2.graphics.beginFill(0xFF0088);
rect2.graphics.drawRect(0,0,50,80);
rect2.graphics.endFill();
addChild(rect2);
doTransforms();
}
private function doTransforms():void {
rect1.rotationX = 15;
rect1.scaleX = 1.2;
rect1.x += 100;
rect1.y+=50;
rect1.rotationZ=10;
var matrix:Matrix3D=rect2.transform.matrix3D;
matrix.appendRotation(15, Vector3D.X_AXIS);
matrix.appendScale(1.2, 1, 1);
matrix.appendTranslation(100, 50, 0);
matrix.appendRotation(10, Vector3D.Z_AXIS);
rect2.transform.matrix3D=matrix;
}
}
}
//