2017-04-14 62 views
1

我一直在使用Adobe Animate CC 2015.2中的HTML画布项目在舞台上使用creatjs Mouse Interaction Tutorial中推荐的方法拖动一个movieClip。我正在MacBook Pro上运行OS X Yosemite。在Animate CC中使用画架拖放2017 2017

这是我使用的代码,它工作正常。 movieClip在时间轴的第一帧的舞台上,动作位于同一帧中。 movieClip实例(my_mc)跟随鼠标左右 - 非常好。

this.my_mc.on("pressmove", function(evt){ 
    evt.currentTarget.x = evt.stageX; 
    evt.currentTarget.y = evt.stageY; 
}); 

然而,试图在动画CC 2017年的两个朋友视网膜显示屏的MacBook Pro运行MacOS的塞拉利昂,结果在那里是完全相同的例子一个陌生而显著鼠标的位置和位置之间的偏移movieClip。鼠标离开舞台的原点(0,0)越远,偏移量越大。

有谁知道为什么会发生这种情况,或者可以想到一种解决方法?我已经使用globalToLocal尝试了一些修改,但这并不能解决问题。

我能想到的三个主要原因是:

  • 在动画CC 2017年的一些变化是导致这一问题
  • Retina显示屏是造成问题
  • MACOS塞拉利昂引起的问题

欢迎任何想法或解决方法。

由于提前,

戴夫

回答

3

我想我排序的问题。无论操作系统和显示器分辨率如何,以下内容似乎都适用于Animate CC 2015.2和Animate CC 2017。

this.my_mc.on("pressmove", function(evt){ 
    var p = stage.globalToLocal(evt.stageX, evt.stageY); 
    evt.currentTarget.x = p.x; 
    evt.currentTarget.y = p.y; 
}); 

我仍然有我的头周围为什么在2017年动画的变化是必要的,而不是在动画CC 2015.2(划痕头)。

谢谢,

戴夫

+2

这是因为动画补充说缩放阶段内容,这意味着在舞台上的x/y小鼠位置被转化的“响应”阶段。你可以使用'evt.localX'和'evt.localY'。 – Lanny

+0

Lanny,谢谢你的信息, –

相关问题