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

时间:2012-06-30 21:33:51

标签: javascript three.js

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

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

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

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

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

animate();​

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

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

1 个答案:

答案 0 :(得分:5)

关于您的主要问题,您需要使用WebGLRenderer代替CanvasRenderer

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

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

我将如何做到这一点。闭包使变量不会污染全局命名空间;您不需要所有this引用。

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