Flash 将movieclip居中于鼠标位置
我正在使用动作脚本3.0制作一个实例(MovieClip类)的动画,以跟随鼠标正电子。事实是,实例的左角跟随鼠标轨迹。现在,左上角有一个十字,我猜鼠标会跟随该十字,但我无法更改实例/原始对象中十字的位置。 有人知道如何使该实例的中心跟随鼠标光标吗? 感谢大家对该主题的帮助。解决方案1: 不要改变注册点(十字)的位置。更改movieclip的内容以与中心位置对齐。试试看,你就会明白 解决方案2: 使用偏移量移动实例。像这样的Flash 将movieclip居中于鼠标位置,flash,actionscript-3,animation,actionscript,air,Flash,Actionscript 3,Animation,Actionscript,Air,我正在使用动作脚本3.0制作一个实例(MovieClip类)的动画,以跟随鼠标正电子。事实是,实例的左角跟随鼠标轨迹。现在,左上角有一个十字,我猜鼠标会跟随该十字,但我无法更改实例/原始对象中十字的位置。 有人知道如何使该实例的中心跟随鼠标光标吗? 感谢大家对该主题的帮助。解决方案1: 不要改变注册点(十字)的位置。更改movieclip的内容以与中心位置对齐。试试看,你就会明白 解决方案2: 使用偏移量移动实例。像这样的 myInstance.x = mouseX - (myInstance.
myInstance.x = mouseX - (myInstance.width * 0.5);
myInstance.y = mouseY - (myInstance.height * 0.5);
我使用这个代码
import flash.display.Shape;
import flash.events.Event;
var easing:Number = .25; // inching coefficient
var sp:Shape = super.addChild(new Shape()) as Shape; // draw circle
sp.graphics.beginFill(0x0,.6);
sp.graphics.drawCircle(40,40,40);
sp.x = super.stage.stageWidth - sp.width >> 1;
sp.y = super.stage.stageHeight - sp.height >> 1;
super.stage.addEventListener(Event.ENTER_FRAME, update, false, 0, true);
function update(e:Event):void
{
var targetX:int = super.stage.mouseX - (sp.width >> 1);
var targetY:int = super.stage.mouseY - (sp.height >> 1);
sp.x += (targetX - sp.x) * easing;
sp.y += (targetY - sp.y) * easing;
}
在进行偏移(解决方案2)时,是否可以使用像素(例如横穿t X轴的20个像素和沿Y轴的50个像素)进行i?无论如何,谢谢你的快速回答:你可以做任何你想做的事。:)