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