[转]根据动态中心点进行缩放的类
之前在这里看到有人介绍了Bartek Drozdz的Rotator类,可以根据动态中心点旋转显示对象。觉得很好用。
下载地址:[url]http://www.horidream.com/blog/?p=49 [/url]
之后对这个类添加了一个scaleX和scaleY的功能,能够根据动态中心点进行缩放。
发上来和大家分享一下~有不足的话一起交流撒~
rotator.swf (6.26 KB)
自己测试了一下,为神马我没设置银子,会要消耗一个银子~~~~~~哪位版主帮我修改一下~
例子里的小球注册点是左上角(因为动态生成的显示对象都是左上角的注册点)。鼠标移动到小球上,并且点击,小球会根据鼠标点击的那点坐标进行缩放,鼠标移开小球,小球恢复原状。
下面给出在原有类的基础上增加的两个方法的代码:
public function set scaleX(scalex:Number):void { var oldw:Number = target.width; var blx:Number = (point.x - target.x) / oldw; target.scaleX = scalex; target.x -= (target.width - oldw) * blx; } public function get scaleX():Number { return target.scaleX; } public function set scaleY(scaley:Number):void { var oldy:Number = target.height; var bly:Number = (point.y - target.y) / oldy; target.scaleY = scaley; target.y -= (target.height - oldy) * bly; } public function get scaleY():Number { return target.scaleY; }