2016-03-04 109 views
0

我有一個聚合物網站,我想使用x3dom庫來查看外部x3d文件,並且只需將加載的3D場景旋轉360度。如何使用x3dom與聚合物?

有沒有人成功地將x3dom與聚合物一起使用?我沒有看到任何理由,爲什麼這不起作用。請假設我所有的聚合物材料都是正確的(我有),並且已經在頁面頭部加載了先決條件x3dom.js腳本和x3dom.css。這只是一個精簡的代碼片段來顯示鍵位:

<x3d width='350px' height='400px'> 
     <scene> 
      <inline nameSpaceName="myNS" mapDEFToID="true" url="{{_x3dPath}}"></inline> 
     </scene> 
</x3d> 

<script> 
     Polymer({ 
      properties: { 
       _x3dPath: {type: String}, 
      }, 

      ready: function() { 
       this._x3dPath = "/someDynamicPath/threeDfile.x3d"; 
      } 
     }); 
</script> 

有什麼建議嗎?

回答

1

您需要創建一個自定義元素作爲第三方庫的包裝。 (例如x3dom-wrapper.html)。

在這個文件中,你必須添加腳本參考x3dom .js文件

<script type="text/javascript" src='../bower_components/x3dom/x3dom.js'></script> 

然後,你需要導入包裝自定義元素像任何其他聚合物組分。這樣你可以確保當你需要它時x3dom依賴將會被使用。

編輯: 包裝圖書館仍然是一個很好的做法,但不是你的問題的原因。我做了一個快速測試,發現你必須在你的「ready」聚合物事件處理程序上調用x3dom.reload()。這種方式x3dom系統正確地重新加載

+0

因此添加單頁聚合物應用程序的HTML頁面的頭部引用是不夠的?相反,腳本引用需要位於自定義元素中? – sinjins

+0

我剛剛試過你的建議,將x3dom依賴包裝到一個自定義元素中,然後導入包裝,但它仍然不起作用。請記住,我已經在單頁面應用程序的html的HEAD中導入了x3dom.js。 – sinjins

+1

@sinjins我做了一個快速測試,發現問題。回答相應編輯。 –