我怎么能做这样的事情;如果(a>x>b)“;
How can I do something like "if (a > x > b)"?
这可能是一个简单的问题,但我很难让它发挥作用。我正在尝试一个按键交互,当按下时,它会检查相机的位置,并根据相机的位置做不同的事情。这里有一大块:
function onKeyDown (event) {
switch (event.keyCode) {
case 49: /*1*/
if (looking){
//P1
if (-36 < (camera.position.x) < -25) {if (-10 < (camera.position.z) < 10){
//P1stuff
looking = false, text.innerHTML = "Painting1", controls.movementSpeed = 0, controls.rollSpeed = 0
} else{}
}
在我的实际项目中,还有更多的内容,我已经替换了if语句的条件,所以我的代码运行良好,只是在以"(a<(camera.position.x)<b)"方式格式化时无法读取相机的位置。我该如何输入并执行这种if检查?
(-36 < (camera.position.x) < -25)
是错误的,您实际上正在执行以下
var foo = -36 < camera.position.x; // foo will be either true or false;
然后你的第二个比较基本上是做true < -25
,这不是你想要完成的。
你需要做的是把你的比较器分成:((-36 < camera.position.x) && (camera.position.x < -25))
,就像这样:
function onKeyDown (event) {
switch (event.keyCode) {
case 49: /*1*/
if (looking){
//P1
if (-36 < camera.position.x && camera.position.x < -25) {
if (-10 < camera.position.z && camera.position.z < 10) {
//P1stuff
looking = false;
text.innerHTML = "Painting1";
controls.movementSpeed = 0;
controls.rollSpeed = 0
} else { }
}
...
它应该简单地拆分为两个布尔逻辑,并与AND运算相结合。
// -36 < camera.position.x < -25 becomes two Boolean boundary conditions...
if (camera.position.x > -36 && camera.position.x < -25) {
// do something
}
相机位置是我们在这里检查的相关属性,因此,在逻辑检查中把它放在第一位是最明智的。
相关文章:
- 如何将分钟格式化为小时和分钟,但仅显示小时(如果's>60分钟
- 检查页面范围并提取<h1>内容(如果使用JQuery存在页面)
- 如果检查了输入,则将类应用于<身体>,没有jQuery
- 我怎么能做这样的事情;如果(a>x>b)“;
- 如何使用“;ng如果“;在Html<a>标签
- 将类添加到<身体>如果在“;“有能力”;iOS 7上的网络应用程序
- 在<c: 如果>陈述
- javascript页面加载检查是否存在具有特定类的span(在<tr>下),如果不存在,则删除整个<
- 使第二<选择>如果首先<选择>设置为某个选项
- 如果(window.innerWidth>800),则打开左侧和右侧面板
- <tspan>文本</tspan>如果没有定义id或类,如何删除文本
- 隐藏<页眉>如果在iFrame中
- 如果所有三个文本框<>然后是100%
- JSTL<c: 如果测试>不包含
- 如果两个<img>彼此接触
- 从<选择>如果选择的选项包含ID='答案'在HTML/JavaScript(JQuery)中
- 如果当前日期>今天不能使用Javascript
- <音频>.如果内容加载过快,addEventListener进程将无法启动
- 尝试显示<tr>如果选择了一个选项
- 替换<a>如果它以字符串JQuery结尾