8.2.6 斜切变型

   使用transform.matrix较为繁琐,但其优势是功能强大:使用matrix.concat()方法可轻松的将显示对象斜切变形:

var myMatrix:Matrix=matrix_rect.transform.matrix;

var tempxtempy;

tempx=matrix_rect.x+matrix_rect.width/2;

tempy=matrix_rect.y+matrix_rect.height/2;

myMatrix.translate(-tempx-tempy);

//实现斜切变形代码开始

var skewMatrix:Matrix = new Matrix();

skewMatrix.b = Math.tan(1);

myMatrix.concat(skewMatrix);

//实现斜切变形代码结束

myMatrix.rotate(2 * Math.PI * (-45 / 360));

myMatrix.translate(tempxtempy);

matrix_rect.transform.matrix = myMatrix;

显示效果如图所示,矩形在水平方向斜切变型:

 

其中skewMatrix.b是设置水平方向的斜切,如果要设置垂直方向的斜切,则需要访问skewMatrix.a属性。通过改变Math.tan(x)x变量的值,可以控制斜切的幅度。

斜切变形是卡通动画中有用的一种动画变形,在模拟快速运动的物体忽然停止,或者静止的物体忽然加速,以及托盘中摆动的布丁等动画形象时,斜切变形都有其应用的天地。 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值