[AS3]as3.0构造函数Matrix的用法代码示例
构造函数是Matrix(a, b, c, d, tx, ty),默认值是Matrix(1, 0, 0, 1, 0, 0) 在x轴方向的缩放(即乘以这个数值后得到新坐标位置)
构造函数是Matrix(a, b, c, d, tx, ty),默认值是Matrix(1, 0, 0, 1, 0, 0)
a -- 在x轴方向的缩放(即乘以这个数值后得到新坐标位置)
b -- 在y轴的倾斜度
c -- 在x轴的倾斜度
d -- 在y轴方向的缩放
tx -- 沿x轴的平移量
ty -- 沿y轴的平移量
计算公式:
新的X坐标 = a * X + c * Y + tx;
新的Y坐标 = b * X + d * Y + ty;
- package {
- import flash.display.LineScaleMode;
- import flash.display.Sprite;
- import flash.events.MouseEvent;
- import flash.geom.Matrix;
- [SWF(width="800", height="600", backgroundColor="#ffffff")]
- public class Sample0506 extends Sprite
- {
- private var matrix:Matrix = new Matrix(1,0,0,1,0,0);
- private var count:Number = 1;
- public function Sample0506()
- {
- //极酷播放器提示:参照
- var rect1:Sprite = new Sprite();
- rect1.graphics.lineStyle(1,0x000000);
- rect1.graphics.beginFill(0x0000FF);
- rect1.graphics.drawRect(0,0,100,20);
- var rect2:Sprite = new Sprite();
- rect2.graphics.lineStyle(1,0x000000);
- rect2.graphics.beginFill(0x00FF00);
- rect2.graphics.drawRect(0,10,200,20);
- //matrix
- var rect:Sprite = new Sprite();
- rect.graphics.lineStyle(1,0x000000,1,false,LineScaleMode.NONE);
- rect.graphics.beginFill(0xCCCCCC);
- rect.graphics.drawRect(0,30,100,20);
- rect.addEventListener(MouseEvent.CLICK,onClick);
- var bigSprite:Sprite = new Sprite();
- bigSprite.addChild(rect1);
- bigSprite.addChild(rect2);
- bigSprite.addChild(rect);
- bigSprite.x = 100;
- bigSprite.y = 100;
- this.addChild(bigSprite);
- }
- private function onClick(event:MouseEvent):void
- {
- countcount = count + 1;
- var sprite:Sprite = event.target as Sprite;
- matrix.a = count;
- //matrix.b = count;
- //matrix.ty = count;
- sprite.transform.matrix = matrix;
- }
- }
- }
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...