Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么';这个场景中的灯光不起作用吗?_Javascript_Three.js - Fatal编程技术网

Javascript 为什么';这个场景中的灯光不起作用吗?

Javascript 为什么';这个场景中的灯光不起作用吗?,javascript,three.js,Javascript,Three.js,我用coffeescript编写了一个游戏类,它显示一个普通的和旋转的立方体。您可以在此处看到代码: 除了两件事外,一切都很美好: 1) 我必须做一个丑陋的黑客来让requestAnimationFrame回调正常工作: var sh = new App(); sh.start(); function animate() { sh.animate(); requestAnimationFrame(animate); } animate();​ 2) 这是我最担心的:聚光灯不

我用coffeescript编写了一个游戏类,它显示一个普通的和旋转的立方体。您可以在此处看到代码:

除了两件事外,一切都很美好:

1) 我必须做一个丑陋的黑客来让
requestAnimationFrame
回调正常工作:

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

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

animate();​
2) 这是我最担心的:聚光灯不起作用。我试图复制另一个(本文引用)的行为,但没有成功。也许这只是一个愚蠢的打字错误,或者我做错了


另外:我的应用程序类是否走错了方向?到目前为止,我发现的所有三个.js示例都使用普通函数来运行东西。

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

小提琴:

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

我会这样做的。闭包可以防止变量污染全局名称空间;您不需要所有的
参考资料


Fiddle#2:

谢谢你的更新。所有这些
引用都是来自CoffeeScript的工件。