我一直在做一个 processing.js 演示,其中物体围绕一个中心点运行。我正在尝试为输入添加一个侦听器,该侦听器检查是否s
每次更新都按下了键,如果是,则调用一种方法以将每个物体的轨道大小减小指定的因子。
该示例在jsfiddle上。
基本上我已经在 update() 方法中放置了代码来监听按键:
void update()
{
//detect input
if(keyPressed)
{
debugger; //debug
if(key == 's' || key == 'S')
{
//shrink orbit
ShrinkOrbit(planets,.9);
}
}
}
调用ShrinkOrbit(ArrayList <OrbitingBody> orbs, float reductionFactor)
方法:
/*
* Reduces size of orbit for specified group of orbiting bodies
*/
void ShrinkOrbit(ArrayList<OrbitalBody> orbs, float reductionFactor)
{
for(OrbitalBody b:orbs)
{
b.x *= reductionFactor;
b.y *= reductionFactor
}
}
但是,目前不仅调试断点没有触发,而且我看到 chrome 开发人员工具中出现了一些错误:
Uncaught SyntaxError: Unexpected reserved word
Uncaught TypeError: Cannot read property 'reason' of null Actions.js:333
(anonymous function) Actions.js:333
(anonymous function) moo-clientcide-1.3.js:212
Array.implement.each moo-clientcide-1.3.js:329
(anonymous function) moo-clientcide-1.3.js:212
Class.JSLintValidate Actions.js:330
wrapper.extend.$owner moo-clientcide-1.3.js:3798
Class.jsLint Actions.js:277
wrapper.extend.$owner moo-clientcide-1.3.js:3798
(anonymous function) moo-clientcide-1.3.js:1027
defn
假设这update()
是一个全局方法,setup
在任何草图中都可以调用等效的方法,我错了吗?我已经看到它在另一个功能正常的 jsFiddle 中如此使用,这是我得出结论的地方。如果有任何帮助,我的目标是 Processing.js 1.4.1。