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