.removeMesh() & .addMesh()

鼠标监听事件移出和新增

MMSDT.mouseEvent 构建函数的属性,鼠标监听事件中,所监听模型网格的移出、新增

属性

.removeMesh( childs )

childs: 数组,移出监听模型的网格名字

 

.addMesh( childs )

childs: 数组,新增监听模型的网格名字

代码示例

//数组,需要监听的模型子网格名称 var eventMouse = ["B2","B1","1F","2F","3F","4F","5F","6F","7F","8F","9F","10F","11F","12F","13F","14F","15F","16F","17F","18F","19F","20F"]; //鼠标移入移出、点击检测的网格 var onMouseArray = ["B2","B1","1F","2F","3F","4F","5F","6F","7F","8F","9F","10F","11F","12F","13F","14F","15F","16F","17F","18F","19F","20F"]; //数组,模型的移入事件 var onMove = [ [ onMouseArray, function(name){ MMSDT.superposition([ name ] , 0xff0000); //当前楼层变红 document.body.title = "当前楼层:"+name; //鼠标显示当前楼层名称 } ], ]; //匿名函数,鼠标移出事件 var outMove = function(){ MMSDT.resSuperposition(onMouseArray); //楼层变色恢复 document.body.title = ""; //文字提示恢复为空 } //左键单击 var onDown = [ [ onMouseArray, function(name){ MMSDT.objectStyle( [ name ] , false); //背景虚化 var floor = ["B2","B1","1F","2F","3F","4F","5F","6F","7F","8F","9F","10F","11F","12F","13F","14F","15F","16F","17F","18F","19F","20F","ding"]; for( var i=0; i < floor.length; i++ ){ if( name == floor[i] ){ floor.splice(0,i+1); } } MMSDT.buildingSplit(floor ,50); //楼层展开 //把指定的网格从"eventMouse"中移出,移除后,针对该网格的所有鼠标移入移出和点击事件均取消了。 mouseEvent.removeMesh( ["B2","B1","1F","2F","3F","4F","5F","6F","7F","8F","9F","10F","11F","12F","13F","14F","15F","16F","17F","18F","19F","20F"] ); }, "left" ], ]; var onDouble = []; var moveColor = []; function goBack( dateJson ){} //构建函数监听鼠标事件 var mouseEvent = new MMSDT.mouseEvent( eventMouse, onMove, outMove, onDown, onDouble, moveColor, false, false, goBack ); //自定义MMAPI类的接口 MMAPI.goBack = function(){ MMSDT.resStyle(); //楼层虚化恢复 MMSDT.buildingSplit(["B2","B1","1F","2F","3F","4F","5F","6F","7F","8F","9F","10F","11F","12F","13F","14F","15F","16F","17F","18F","19F","20F","ding"] ,0); //楼层展开恢复 //在"eventMouse"中新增指定的网格,添加后,针对该网格的所有鼠标移入移出和点击事件有效了。 mouseEvent.addMesh( ["B2","B1","1F","2F","3F","4F","5F","6F","7F","8F","9F","10F","11F","12F","13F","14F","15F","16F","17F","18F","19F","20F"] ); }

在线演示