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

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

时间:2012-10-26 21:55cnblogs.com
有几个现有的方法,能方便的实现平移、缩放及旋转 平移 -- translate(tx, ty) 缩放 -- scale(a, d) 旋转 -- rotate(q),例如旋转90度,是rotate((90/180)*Math.PI); 需要注意的是,旋转点始终在父容器的左上角 而要

有几个现有的方法,能方便的实现平移、缩放及旋转

平移 -- translate(tx, ty)

缩放 -- scale(a, d)

旋转 -- rotate(q),例如旋转90度,是rotate((90/180)*Math.PI); 需要注意的是,旋转点始终在父容器的左上角

而要实现倾斜,则只能设置b和c的值,b属性表示斜角沿 y 轴的正切;c属性表示斜角沿 x 轴的正切

下面的例子演示了旋转

  1. package { 
  2.  import flash.display.LineScaleMode; 
  3.  import flash.display.Sprite; 
  4.  import flash.events.Event; 
  5.  import flash.geom.Matrix; 
  6.  [SWF(width="800"height="600"backgroundColor="#ffffff")] 
  7.  public class Sample0506 extends Sprite 
  8.  { 
  9.   private var rect:Sprite; 
  10.    
  11.   public function Sample0506() 
  12.   { 
  13.    rect = new Sprite(); 
  14.    rect.graphics.lineStyle(1,0x000000,1,false,LineScaleMode.NONE); 
  15.    rect.graphics.beginFill(0xCCCCCC); 
  16.    rect.graphics.drawRect(-50,-100,100,200); 
  17.     
  18.    var bigSprite:Sprite = new Sprite(); 
  19.    bigSprite.addChild(rect); 
  20.    bigSprite.x = 300
  21.    bigSprite.y = 300
  22.    bigSprite.graphics.beginFill(0xFFFF00); 
  23.    bigSprite.graphics.drawRect(0,0,200,200); 
  24.    bigSprite.graphics.endFill();   
  25.    this.addChild(bigSprite); 
  26.     
  27.    stage.addEventListener(Event.ENTER_FRAME,onEnter); 
  28.   } 
  29.    
  30.   private function onEnter(event:Event):void 
  31.   { 
  32.    var tmpMatrix:Matrix = rect.transform.matrix; 
  33.    tmpMatrix.rotate((30/180)*Math.PI); 
  34.    rect.transform.matrix = tmpMatrix
  35.   } 
  36.  } 

 

热门文章推荐

请稍候...

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

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