as3.0 改变注册点(有时候原件做好了,不想重新原件)

//改编别人的

package com {
    import flash.display.MovieClip;
    import flash.display.DisplayObjectContainer;
    import flash.geom.Rectangle;
    import flash.events.MouseEvent;

    public class ChangePoint extends MovieClip{

        public function ChangePoint() {
            // constructor code
        }
        public static function SetRegPoint(obj:DisplayObjectContainer, newX:Number, newY:Number):void {

            if (obj.parent==null) {
                return;
            }
            var bounds:Rectangle=obj.getBounds(obj.parent);
            var currentRegX:Number=obj.x-bounds.left;
            var currentRegY:Number=obj.y-bounds.top;
            var xOffset:Number=newX-currentRegX;
            var yOffset:Number=newY-currentRegY;
            obj.x+=xOffset;
            obj.y+=yOffset;

            for (var i:int = 0; i < obj.numChildren; i++) {
                obj.getChildAt(i).x-=xOffset;
                obj.getChildAt(i).y-=yOffset;
            }
            /*obj.addEventListener(MouseEvent.CLICK,onMc)
            function onMc(e:MouseEvent){
                obj.rotation+=10
            }*/
        }
    }
}

 

posted on 2020-03-23 16:01  zqiang0803  阅读(204)  评论(0)    收藏  举报

导航