我正在开发一个 html5 游戏项目。在这个我必须通过鼠标控制我的对象方向。我已经从键盘控制它。但我想实现鼠标控制。所以任何人都可以帮助然后回复我。
问问题
135 次
3 回答
2
假设您使用的是 jQuery:
$(document).bind('mousemove', function(e) {
var refObj = $('#image-id'); // reference object selector
var objPos = refObj.offset(); // get object's absolute position
var objCenterPos = { // get object's center absolute position
x: objPos.left + refObj.width() / 2,
y: opjPos.top + refObj.height() / 2
};
var refPos = { // compute mouse position relative to reference object
x: e.pageX - objCenterPos.x,
y: e.pageY - objCenterPos.y
};
updateDirectionVector(refPos); // refPos is also the direction vector
});
function updateDirectionVector(vector) {
// do whatever you want here
}
于 2012-10-17T11:27:19.033 回答
0
使用“onmousemove”并捕获其事件
window.onmousemove = functionName;
functionName(event){
//now read the relevant event properties for the mouse
//console.log(event); //use console.log to get a list of possible event properties
x = event.pageX;
y = event.pageY;
}
您需要跟踪以前的位置并在该功能中做很多其他事情,但是有很多文档可以帮助您入门。
试试这个链接: http: //orangesplotch.com/mouse_follower-javascript_tutorial/
于 2012-10-09T10:39:07.753 回答
0
下面的代码可能会给你一些想法!
var refPos = {x:window.event.clientX,y:window.event.clientY};
window.addEventListener("mousemove",function(){
var curPos = {x:window.event.clientX,y:window.event.clientY};
var left = refPos.x - curPos.x;
var top = refPos.y - curPos.y;
var direction = "";
direction += (top < 0)?"South":"North";
direction += (left <0)?"East":"West";
alert("Relative Direction " + direction);
},true);
希望这个对你有帮助!
于 2012-10-09T10:55:32.187 回答