threex.domevents是一個three.js的擴展庫,支持3D場景的交互。和咱們操做DOM樹的事件類似,名稱都是同樣的。因此使用起來很是方便。另外他也提供了鏈接操做。單擊網格可實現跳轉功能。git
若是僅僅使用Dom事件,須要引入:github
<script src='threex.domevents.js'></script>
若是須要使用連接跳轉,還須要引入:web
<script src="threex.linkify.js"></script>
無論是使用事件仍是跳轉,都得建立DomEvents對象:dom
var domEvents = new THREEx.DomEvents(camera, webGLRenderer.domElement);
THREEx.DomEvents.eventNames是一個包含了全部支持的事件的名稱集合。全部咱們能夠像下面這樣輸出全部事件操做的日誌:
THREEx.DomEvents.eventNames.forEach(function(eventName){ if(eventName === "mousemove") return; domEvents.addEventListener(sphereMesh, eventName, function(event){ var domElement = document.querySelector("#log"); domElement.innerHTML = event.type + "<br/>" + domElement.innerHTML ; }, false); });
咱們給sphereMesh網格註冊了全部DomEvents支持的事件。因爲mousemove觸發太頻繁,因此忽略了它。spa
如何使用連接?代碼至關簡單:日誌
THREEx.Linkify(domEvents, sphereMesh, "http://www.cnblogs.com/w_wanglei");
最後附上domEvents的源代碼下載地址:https://github.com/jeromeetienne/threex.domevents。code