`

[转]根据动态中心点进行缩放的类

阅读更多
之前在这里看到有人介绍了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;
                }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics