2015-12-01 51 views
0

我正在用JavaScript和Three.js玩我的第一步。與Three.js交互式液態金屬球

今天我看保羅·劉易斯的教程,以與three.js所的互動液態金屬球像這樣的http://lab.aerotwist.com/webgl/reactive-ball/

我問我是否有可能與使用ThreeBinaryLoader外部模型做出來。我修改代碼,這http://codepen.io/gnazoa/pen/wKVLNG但它不工作,因爲我這裏有一個語法錯誤

sphereGeometry = loader.load( 
    "sources/obj/mmlogo/mm_logo.js", 
    function(
     200,  // radius 
     60,  // resolution x 
     30);  // resolution y 

所以我用另一種語法tryed:

var loader = new THREE.BinaryLoader(); 
      loader.load("sources/obj/mmlogo/mm_logo.js", function (sphereGeometry) { 

       var material = new THREE.MeshPhongMaterial({ 
        color: 0x515151, 
        morphTargets: true, 
        overdraw: 0.5, 
        envMap: reflectionCube, 
        combine: THREE.AddOperation, 
        reflectivity: 1, 
        shininess: 0, 
        side: THREE.DoubleSide, 
       }); 

而且我還用相同的語法問題。

我知道這可能是一件非常簡單的事情,但對我來說非常辛苦,因爲我正在學習,而且這件事情非常複雜。

你知道是否可以使用正確的語法嗎?

+0

嘗試在'side:THREE.DoubleSide'後刪除','。 – tforgione

+0

謝謝。我已經刪除它,但它不工作 – gnazoa

回答

0

試試這個:

var loader = new THREE.BinaryLoader(); 
loader.load("sources/obj/mmlogo/mm_logo.js", function (sphereGeometry) { 

    var material = new THREE.MeshPhongMaterial({ 
     color: 0x515151, 
     morphTargets: true, 
     overdraw: 0.5, 
     envMap: reflectionCube, 
     combine: THREE.AddOperation, 
     reflectivity: 1, 
     shininess: 0, 
     side: THREE.DoubleSide 
    }); 
}); 

您忘記關閉你的函數});。我建議使用一些IDE進行語法檢查。在Javascript中運行時錯誤會給你足夠的樂趣。 ;)

+0

Thankyou @Dark Anavger,但它仍然無法正常工作... – gnazoa

+0

我告訴我們**如何**它不起作用,我們可能能夠幫助你更好。給我們錯誤你越來越。 –

+0

JavaScript控制檯告訴我的createObjects()函數中的語法存在錯誤。感謝您的幫助@Dark Anagver – gnazoa