我在HTML5画布工作+ EaseljsEaseljs使用鼠标移动
我想用我的鼠标旋转在我的应用程序对象旋转对象。想法如下:单击一个对象>出现带有可拖动框的圆形>将该框拖过圆形使对象旋转。
这是一个与this one相同的问题,但我不知道如何在Easeljs中做到这一点。
为了说明
现在,您可以通过点击右上角的按钮,旋转的物体(L =左,R =右),但我想这是喜欢这里:
点击+拖动白框将使其旋转
非常感谢帮助!
我在HTML5画布工作+ EaseljsEaseljs使用鼠标移动
我想用我的鼠标旋转在我的应用程序对象旋转对象。想法如下:单击一个对象>出现带有可拖动框的圆形>将该框拖过圆形使对象旋转。
这是一个与this one相同的问题,但我不知道如何在Easeljs中做到这一点。
为了说明
现在,您可以通过点击右上角的按钮,旋转的物体(L =左,R =右),但我想这是喜欢这里:
点击+拖动白框将使其旋转
非常感谢帮助!
对于mousedown
,mousemove
和mouseup
,您必须将听众添加到舞台上(或者在您的情况下,可能是比赛场形状)。在this example,我只是听全球stagemouseup
,stagemousedown
和stagemousemove
事件。我不分配stagemousemove
听众,直到stagemousedown
被解雇。我在stagemouseup
被解雇时将其删除。
对于每个stagemousemove
事件,您需要找到播放器与舞台鼠标位置之间的角度。
var angleInRadians = Math.atan2(stage.mouseY - shape.y, stage.mouseX - shape.x);
var angleInDegrees = angleInRadians * (180/Math.PI);
然后你只需设置shape.rotation = angleInDegrees
:其中shape
是您的播放器,你可以不这样做将下面的公式。
我对这个小提琴做了一个快速编辑,使其在开始拖动时不会重置,因此您可以继续旋转它:https://jsfiddle.net/lannymcnie/hb8a7ys8/2/ – Lanny