·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3.0构造函数Matrix的用法代码示例

时间:2012-10-26 21:55cnblogs.com
构造函数是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;

  1. package { 
  2.  import flash.display.LineScaleMode; 
  3.  import flash.display.Sprite; 
  4.  import flash.events.MouseEvent; 
  5.  import flash.geom.Matrix; 
  6.  [SWF(width="800"height="600"backgroundColor="#ffffff")] 
  7.  public class Sample0506 extends Sprite 
  8.  { 
  9.   private var matrix:Matrix = new Matrix(1,0,0,1,0,0); 
  10.   private var count:Number = 1
  11.   public function Sample0506() 
  12.   { 
  13.    //极酷播放器提示:参照  
  14.    var rect1:Sprite = new Sprite(); 
  15.    rect1.graphics.lineStyle(1,0x000000); 
  16.    rect1.graphics.beginFill(0x0000FF); 
  17.    rect1.graphics.drawRect(0,0,100,20); 
  18.     
  19.    var rect2:Sprite = new Sprite(); 
  20.    rect2.graphics.lineStyle(1,0x000000); 
  21.    rect2.graphics.beginFill(0x00FF00); 
  22.    rect2.graphics.drawRect(0,10,200,20); 
  23.     
  24.    //matrix  
  25.    var rect:Sprite = new Sprite(); 
  26.    rect.graphics.lineStyle(1,0x000000,1,false,LineScaleMode.NONE); 
  27.    rect.graphics.beginFill(0xCCCCCC); 
  28.    rect.graphics.drawRect(0,30,100,20);    
  29.    rect.addEventListener(MouseEvent.CLICK,onClick); 
  30.     
  31.    var bigSprite:Sprite = new Sprite(); 
  32.    bigSprite.addChild(rect1); 
  33.    bigSprite.addChild(rect2); 
  34.    bigSprite.addChild(rect); 
  35.    bigSprite.x = 100
  36.    bigSprite.y = 100
  37.    this.addChild(bigSprite); 
  38.   } 
  39.    
  40.   private function onClick(event:MouseEvent):void 
  41.   { 
  42.    countcount = count + 1; 
  43.    var sprite:Sprite = event.target  as  Sprite; 
  44.    matrix.a = count;  
  45.    //matrix.b = count
  46.    //matrix.ty = count;  
  47.    sprite.transform.matrix = matrix; 
  48.   } 
  49.  } 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器