为什么这个场景中的灯不起作用?

Wuk*_*ank 5 javascript three.js

我写了一个带有coffeescript的游戏类,它显示了一个普通的旋转立方体.你可以在这里看到代码:http://jsfiddle.net/6eRzt/6/

一切都很花哨,除了两件事:

1)我必须做一个丑陋的黑客才能使requestAnimationFrame回调工作:

var sh = new App();
sh.start();

function animate() {
    sh.animate();
    requestAnimationFrame(animate);
}

animate();?
Run Code Online (Sandbox Code Playgroud)

2)这是我的主要关注点:SpotLight不起作用.我试图从另一个JSFiddle复制行为(在本课题中引用),但没有成功.也许这只是一个愚蠢的错字,或者说我做错了.

另外:我的App课程错误吗?到目前为止,我发现的所有three.js示例都使用普通函数来运行.

Wes*_*ley 5

关于您的主要问题,您需要使用WebGLRenderer而不是CanvasRenderer.

小提琴:http://jsfiddle.net/6eRzt/10/

编辑:有很多方法可以解决您的第一个问题.每个人都会有自己的看法.

我就是这样做的.闭包使变量不会污染全局命名空间; 没有必要提供所有this参考资料.

小提琴#2:http://jsfiddle.net/6eRzt/11/