我一直在尝试让我的播放器实体旋转到鼠标上,但是我无法触发MouseMove事件。
Crafty.e("2D, Mouse, Canvas, Color"
.attr({ w:1000, h:1000, x:0, y:0 })
.bind('MouseMove', function(e)
{
console.log("Mouse Pos:"+ e.x +","+e.y);
//get hero
var pos1 = {
x: e.x,
y: e.y
}
var pos2 = {
x: player.x,
y: player.y
}
player.rotation = 0;
player.rotation = -Engine.degree(pos1, pos2);
})当我用单击或鼠标按下或任何其他鼠标事件替换MouseMove时,当该事件发生时,它会旋转到鼠标。但是,它从不调用mousemove函数。我做错了什么?
发布于 2016-04-17 07:12:45
看看CraftyMouseFace,一个精巧的组件made by the community
此组件执行以下操作:
Crafty
第一个特性听起来像是您需要的。
让我们在下面的代码片段中测试MouseMoved事件及其事件数据。
移动鼠标指针,请注意绿色矩形是如何旋转以面对指针的。
Crafty.init();
Crafty.e("2D, DOM, Color, MouseFace")
.attr({x: 75, y: 75, w: 60, h: 60})
.origin("center")
.color('green')
.bind("MouseMoved", function(data) {
this.rotation = data.rad * 180 / Math.PI;
});<script src="https://github.com/craftyjs/Crafty/releases/download/0.7.1/crafty-min.js"></script>
<script src="https://cdn.rawgit.com/petarov/CraftyMouseFace/master/src/craftyMFace.js"></script>
https://stackoverflow.com/questions/36660929
复制相似问题