【发布时间】:2016-04-29 23:08:39
【问题描述】:
我的场景中包含一个 THREE.js 相机对象:
camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 10000 );
camera.position.z = 6;
camera.position.y = 6;
而且效果很好。
我正在尝试在用户与场景交互时实时获取 camera.position.y 属性。
var milkyWay = document.getElementById("chap3content");
var trackAngle = function() {
var camAngle = window.camera.position.y;
console.log(camAngle);
return camAngle;
}
milkyWay.onmousedown = function() {
console.log("mouse pressed");
document.addEventListener("mousemove", trackAngle);
if (camAngle <= 0.25) {
console.log("SHOW ME THE MONEY");
}
}
milkyWay.onmouseup = function() {
console.log("mouse released");
document.removeEventListener("mousemove", trackAngle);
}
上述函数按预期工作,每次鼠标按下并在场景中移动时,都会将 camera.position.y 的值打印到控制台日志中。我遇到的问题是当我在“if”条件中引用 camAngle 变量时,控制台日志会抛出一个错误,指出找不到 camAngle。
什么给了?我一直在尝试解决这个问题很长时间并且变得沮丧。我需要 camera.position.y 的值才能在 DOM 上显示其他内容以供用户交互。更改为 window.camera.position.y 也没有区别:(
【问题讨论】:
标签: javascript camera three.js