THREEJS(版本85)实现鼠标点击的高亮显示(如颜色变化)
来源:互联网 发布:贵州轩通大数据怎么样 编辑:程序博客网 时间:2024/05/22 13:25
啥也不多说,看效果图:
鼠标点击时,发生颜色变化(可以引申出去做很多其他的操作)
代码:首先初始化:
var objects=[];var raycaster= new THREE.Raycaster();var mouse = new THREE.Vector2(), INTERSECTED, SELECTED;
需要把你要实现的效果的geometry加载到objects中
var shape32=createMesh(lines[32]);objects.push(shape32);scene.add(shape32);注:createMesh自己随便写的
鼠标点击事件:
function onDocumentMouseDown( event ) { event.preventDefault(); document.addEventListener( 'mousemove', onDocumentMouseMove, false ); document.addEventListener( 'mouseup', onDocumentMouseUp, false ); document.addEventListener( 'mouseout', onDocumentMouseOut, false ); //鼠标点的拾取-当鼠标点击效果时,放在这里 mouse.x = ( event.clientX / window.innerWidth ) * 2 - 1;//threejs坐标点的标准化 mouse.y = - ( event.clientY / window.innerHeight) * 2 + 1; raycaster.setFromCamera( mouse, camera ); var intersects = raycaster.intersectObjects( objects ); //拾取物体数大于0时 if ( intersects.length > 0 ) { //获取第一个物体 if (SELECTED != intersects[0].object) { //鼠标的变换 document.body.style.cursor='pointer'; /*intersects[ 0 ].object.material.transparent=true;//透明度的变化 intersects[ 0 ].object.material.opacity=0.5;*/ if (SELECTED) SELECTED.material.color.setHex(SELECTED.currentHex); SELECTED = intersects[0].object; SELECTED.currentHex = SELECTED.material.color.getHex();//记录当前选择的颜色 //改变物体的颜色(红色) SELECTED.material.color.set( 0x66ff00 ); } } else { document.body.style.cursor= 'auto'; if (SELECTED) SELECTED.material.color.set(SELECTED.currentHex);//恢复选择前的默认颜色 SELECTED = null; }}
完美**********************************************************************华丽分割线*******************************************************************************END
阅读全文
0 0
- THREEJS(版本85)实现鼠标点击的高亮显示(如颜色变化)
- (28)表格隔行变色,并且鼠标移入高亮显示,鼠标移出显示原来的颜色
- threejs字体加载(threejs版本85左右)
- Jquery 实现表格颜色交替变化,点击选中行,鼠标移过颜色变化。
- Jquery 实现表格颜色交替变化,点击选中行,鼠标移过颜色变化。
- MySQL:如何实现高性能高并发的计数器功能(如:网站点击数)
- textview中点击效果实现,比如点击textview中实现图片和文字的颜色变化(类似于button)
- Dom编程(表格的行与行之间以颜色间隔、鼠标经过行以高亮显示)
- THREEJS的鼠标事件实现(中心旋转,放大缩小等)
- (10)行颜色间隔显示并高亮:鼠标事件onmouseover、onmouseout
- Gridview相关颜色显示(满足特定数据要求的颜色显示,高亮显示)
- opencv_显示鼠标点击处像素的颜色值
- GridView那点事之【鼠标划过该行实现高亮颜色显示】
- Button 中实现点击前后字体颜色的变化
- javascript学习实录 之七(实现鼠标移动上去后表格颜色变化)
- JS实现点击鼠标右键显示指定的ul(适合抽奖时指定人员中奖)
- 实现鼠标悬停高亮显示
- Fix Eclipse鼠标点击变量高亮显示时好时坏的BUG
- 仿微信个人二维码切换样式
- 个人对javascript作用域的理解
- 不使用C/C++标准库实现的浮点数与字符串相互转换(最给力)
- 填坑
- 学习笔记之快速排序——quicklySort——基础算法——java
- THREEJS(版本85)实现鼠标点击的高亮显示(如颜色变化)
- 本地测试vue项目,开全局vpn代理出…
- Android 生成不同服务器配置,不同APPID的apk
- iOS 各种 锁
- vue+webpack实现异步组件加载
- 生成html模板
- 《将博客搬至CSDN》
- div自动换行及截断文本
- 兼容IE