鼠标交互插件threex.domevents介绍

    threex.domevents是一个three.js的扩展库,支持3D场景的交互。和我们操作DOM树的事件相似,名称都是一样的。所以使用起来非常方便。另外他也提供了连接操作。单击网格可实现跳转功能。

    如果仅仅使用Dom事件,需要引入:

<script src='threex.domevents.js'></script>

    如果需要使用链接跳转,还需要引入:

<script src="threex.linkify.js"></script>

    不管是使用事件还是跳转,都得创建DomEvents对象:

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触发太频繁,所以忽略了它。

    如何使用链接?代码相当简单:

THREEx.Linkify(domEvents, sphereMesh, "http://www.cnblogs.com/w_wanglei");

    最后附上domEvents的源代码下载地址:https://github.com/jeromeetienne/threex.domevents

posted @ 2017-05-10 00:07  heavi  阅读(1261)  评论(0编辑  收藏  举报