2
我做了一個raycaster來交叉畫布內的一些對象。如果畫布在窗口瀏覽器中是獨立的,但它不能獲得交集,如果我將畫布放在其他GUI中,並且畫布的位置不同。我認爲這是一個與鼠標座標有關的問題。我該如何調試它?如果我知道鼠標座標,我怎麼能理解畫布的座標是什麼?調試threejs raycaster鼠標座標
function getPosition(event) {
// TODO: add the border of the canvas
var x = new Number();
var y = new Number();
if (event.x != undefined && event.y != undefined) {
x = event.x;
y = event.y;
} else {
// Firefox method to get the position
x = event.clientX + document.body.scrollLeft +
document.documentElement.scrollLeft;
y = event.clientY + document.body.scrollTop +
document.documentElement.scrollTop;
}
x -= canvas.offsetLeft;
y -= canvas.offsetTop;
return {x: x, y: y};
}
如果這個或任何答案已解決您的問題,請考慮通過點擊複選標記來接受它。這向更廣泛的社區表明,您已經找到了解決方案,併爲答覆者和您自己提供了一些聲譽。沒有義務這樣做。 – gaitat