我正在尝试在CoffeeScript中重新实现this example。我的代码如下所示:

class Example
    width: 640
    height: 480

    constructor: ->
        @camera = new THREE.PerspectiveCamera 45, @width/@height, 10000
        @camera.position.z = 300

        @scene = new THREE.Scene
        cube = new THREE.Mesh(new THREE.CubeGeometry(50,50,50), new THREE.MeshBasicMaterial ({color: 0x000000}))

        @scene.add cube

        @renderer = new THREE.WebGLRenderer { antialias: true }
        @renderer.setSize @width, @height
        @renderer.setClearColorHex 0xEEEEEE, 1.0
        @renderer.clear()

        @element = $(@renderer.domElement).appendTo $('div#display')

        @renderer.render(@scene, @camera)


但是,这仅显示灰色背景,而在Chrome和Firefox中不显示立方体。在Chrome浏览器中,加载时,灰色背景也会闪烁一次。怎么了?

上下文:这使用实例变量包含在其自己的类中,因为这打算在以后进行扩展。

最佳答案

您的近平面似乎距离10000。更改为以下内容:

@camera = new THREE.PerspectiveCamera 45, @width/@height, 1, 10000

关于javascript - 为什么我的场景没有渲染?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11724063/

10-12 04:58