鼠标交互插件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 @   heavi  阅读(1292)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示
顶部
菜单
评论
推荐
底部