flash 中实现斜切变型
使用transform.matrix较为繁琐,但其优势是功能强大:使用matrix.concat()方法可轻松的将显示对象斜切变形:
var myMatrix:Matrix=matrix_rect.transform.matrix;
var tempx,tempy;
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(tempx,tempy);
matrix_rect.transform.matrix = myMatrix;
显示效果(http://blog.csdn.net/AS3_Flash/archive/2008/04/18/2303066.aspx),矩形在水平方向斜切变型。
其中skewMatrix.b是设置水平方向的斜切,如果要设置垂直方向的斜切,则需要访问skewMatrix.a属性。通过改变Math.tan(x)中x变量的值,可以控制斜切的幅度。
斜切变形是卡通动画中有用的一种动画变形,在模拟快速运动的物体忽然停止,或者静止的物体忽然加速,以及托盘中摆动的布丁等动画形象时,斜切变形都有其应用的天地。
本文来自CSDN博客,出处:http://blog.csdn.net/AS3_Flash/archive/2008/04/18/2303066.aspx