【问题标题】:Processing JS Hit Box Not Working处理 JS 命中框不工作
【发布时间】:2016-07-20 01:15:37
【问题描述】:

我正在尝试制作一个触发时会导致程序重新启动的命中框。

这是我正在使用的代码:

 if(snakey.position.x < mos.position.x + 20 && snakey.position.y > mos.position.y - 20 || snakey.position.x > mos.position.x - 20 && snakey.position.y < mos.position.y + 20){
        Program.restart();
    }

问题在于,当输入命中框时,它似乎是随机触发或至少非常不规律地触发,而不是触发程序重新启动。我已经检查了几次并且没有收到错误消息,所以语法很好。

我和一个朋友也都重复了几次逻辑,以确保条件确实可以满足。我们没有发现任何问题,但它仍然没有在正确的时间或什至在一致的时间激活程序重新启动,如果有人能告诉我为什么它的行为如此奇怪,我将在下面链接完整的程序,我将不胜感激。

https://www.khanacademy.org/computer-programming/spin-off-of-project-computational-creatures/5001415574814720

【问题讨论】:

    标签: processing.js


    【解决方案1】:

    您需要正确地将条件括在括号中 if((snakey.position.x &lt; mos.position.x + 20 &amp;&amp; snakey.position.y &gt; mos.position.y - 20) || (snakey.position.x &gt; mos.position.x - 20 &amp;&amp; snakey.position.y &lt; mos.position.y + 20))

    【讨论】:

    • 该语法仅适用于普通 JS,这是处理 JS,如果我这样说的话,我会收到有关语法不正确的消息。另外,您确定不正确的语法甚至会导致我描述的问题类型,难道不会导致这些行无法运行吗?
    • 您的语法是有效的,但您的语句中有逻辑错误,这就是随机性的原因
    • 好吧,我认为一定有逻辑错误,但就像我说的我已经读过它,我的一个朋友已经读过很多遍了,我们没有看到逻辑问题,这就是我把它带到这里的原因看看是否有人能找到错误的逻辑。您是否看到特定错误?
    • NVM 是我自己找到的。
    • 出了什么问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-14
    • 1970-01-01
    • 1970-01-01
    • 2014-02-28
    • 2017-01-30
    • 2021-05-09
    • 2013-05-28
    相关资源
    最近更新 更多