2014-07-22 33 views
0

我正在通过startDrag()在AS3中添加自定义光标。在Mac上,它工作正常。你翻转你的Flash文件,并且自定义的MC捕捉到鼠标。在电脑上,在载入时,光标立即跳转到您的鼠标位于闪存文件外的任何位置。一个很好的例子来测试是这样的:StartDrag()AS3恼人的快照

http://www.republicofcode.com/tutorials/flash/as3customcursor/

尝试刷新在PC与MAC这个页面,你会看到光标的初始位置是不同的。在PC上跳跃。我该如何解决?谢谢你,

+0

您可以延迟开始拖动,直到第一个mouseMove事件发生。只是好奇,有什么大不了的? – BadFeelingAboutThis

+0

在捕捉光标前检查鼠标是否位于屏幕视图内。 – BotMaster

回答

0

你可以尝试延迟进行拖动,直到鼠标移动事件是在舞台的边界之后。

stage.addEventListener(MouseEvent.MOUSE_MOVE,mouseMoveHandler); 

function mouseMoveHandler(e:MouseEvent):void { 
    if(e.stageX > 0 && e.stageX < stage.stageWidth && e.stageY > 0 && e.stageY < stage.stageHeight){ 
     stage.removeEventListener(MouseEvent.MOUSE_MOVE,mouseMoveHandler); 
     cursor_mc.startDrag(true); 
    } 
}