【发布时间】:2017-05-02 20:42:35
【问题描述】:
我正在使用obelisk.js,它没有(据我所知)用于鼠标拾取的相交或光线投射的本地方式,因此我正在尝试制作自己的方法,但我不确定如何继续。
这是带有鼠标悬停的基本笔的代码(我想检测鼠标何时位于立方体顶部):
// Canvas & Scene Init:
var canvas = document.getElementById("canvas01");
var point = new obelisk.Point(210, 180);
var pixelView = new obelisk.PixelView(canvas, point);
// CUBE
var dimensionCube = new obelisk.CubeDimension(40, 40, 40);
var cubeColor = new obelisk.CubeColor();
var cube = new obelisk.Cube(dimensionCube, cubeColor);
var cubePos = new obelisk.Point3D(80, 80, 0);
pixelView.renderObject(cube, cubePos);
function getMousePos(canvas, evt) {
var rect = canvas.getBoundingClientRect();
return {
x: evt.clientX - rect.left,
y: evt.clientY - rect.top
};
}
// Listener
canvas.addEventListener('mousemove', function(evt) {
var mousePos = getMousePos(canvas, evt);
var message = 'Mouse position: ' + mousePos.x + ',' + mousePos.y ;
console.log(message);
}, false);
谢谢。
【问题讨论】:
标签: javascript mouseover raycasting isometric