Matrix
...
@author masaoka
♥0 |
Line 72 |
Modified 2010-09-06 19:14:37 |
MIT License
archived:2017-03-10 13:50:25
ActionScript3 source code
/**
* Copyright mikelito33bdx ( http://wonderfl.net/user/mikelito33bdx )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/iEcc
*/
package {
import flash.display.Sprite;
import flash.events.*;
import flash.events.TextEvent;
import flash.text.TextField;
import flash.geom.Matrix;
import caurina.transitions.Tweener;
/**
* ...
* @author masaoka
*/
[SWF(frameRate="30", width="465", height="465")]
public class Main extends Sprite {
private var _rect:Sprite;
private var _myMatrix:Matrix;
public function Main():void {
//四角形の描画
_rect = new Sprite();
_rect.graphics.beginFill(0xFF6600, 0.8);
_rect.graphics.drawRect(0, 0, 150, 100);
_rect.graphics.endFill();
_rect.x = 50;
_rect.y = 50;
this.addChild(_rect);
//matrix
_myMatrix = _rect.transform.matrix;
trace(_myMatrix);//(a=1, b=0, c=0, d=1, tx=50, ty=50)
var btn1:Sprite = new Sprite();
creatBtn(btn1, 350, 10, "translate");
var btn2:Sprite = new Sprite();
creatBtn(btn2, 350, 50, "scale");
var btn3:Sprite = new Sprite();
creatBtn(btn3, 350, 90, "rotate");
var btnClear:Sprite = new Sprite();
creatBtn(btnClear, 350, 400, "clear");
btn1.addEventListener(MouseEvent.CLICK, click1);
btn2.addEventListener(MouseEvent.CLICK, click2);
btn3.addEventListener(MouseEvent.CLICK, click3);
btnClear.addEventListener(MouseEvent.CLICK, clickClear);
}
//移動
private function click1(evt:MouseEvent):void {
_myMatrix.translate( -50, -50);
_rect.transform.matrix = _myMatrix;
}
//拡大・縮小
private function click2(evt:MouseEvent):void {
_myMatrix.scale(1.5, 1.5);
_rect.transform.matrix = _myMatrix;
}
//回転
private function click3(evt:MouseEvent):void {
_myMatrix.rotate(Math.PI / 3);
_rect.transform.matrix = _myMatrix;
}
private function clickClear(evt:MouseEvent):void {
_myMatrix.a = 1;
_myMatrix.b = 0;
_myMatrix.c = 0;
_myMatrix.d = 1;
_myMatrix.tx = 50;
_myMatrix.ty = 50;
_rect.transform.matrix = _myMatrix;
}
private function creatBtn(btn:Sprite,_x:Number, _y:Number,_text:String):Sprite {
//var btn:Sprite = new Sprite();
btn.graphics.beginFill(0x0FFFF0,0.5);
btn.graphics.drawRoundRect(0, 0, 80, 30, 10);
btn.graphics.endFill();
btn.x = _x;
btn.y = _y;
this.addChild(btn);
var tf:TextField = new TextField();
tf.text = _text;
tf.selectable = false;
tf.x = 20;
tf.y = 5;
btn.addChildAt(tf,0);
return btn;
}
}
}