指南针

MMSDT.compass()

       指南针功能,获取当前镜头的方位值。tips:注意需要根据“实际位置”做初始校准。

构造函数

      MMSDT.compass()

       得到当前镜头的方位值。

html

<div style="position:absolute;top:30px;right:30px; width: 250px;"> <div id="compass1" style="position:absolute; width:250px; height:250px; z-index:1; top:0px;right:0px; background-image:url(textures/compass0.png); background-size: 100% 100%"></div> <div id="compass2" style="position:absolute; width:250px; height:250px; z-index:2; top:0px;right:0px; background-image:url(textures/compass1.png); background-size: 100% 100%;"></div> <div id="compass3">0度</div> </div>

代码示例

var MMS3D_exceptionMesh = []; //需要材质拆分的网格 var MMS3D_instancingMesh = ["shu"]; //合并实例化网格 //初始化场景 MMSDT.initScene( false, MMS3D_exceptionMesh, MMS3D_instancingMesh ); //设置第3人称鼠标控制器 controls3.maxPolarAngle = Math.PI*0.49; //向下,最大角度限制 controls3.maxDistance = 1000; //最远距离限制 controls3.screenSpacePanning = false; //右键平移是否上下移动 controls3.enableDamping = true; //是否开启惯性阻尼 controls3.dampingFactor = 0.03; //惯性阻尼系数 //使用json文件让场景还原 MMSDT.onloadScene( "models/mms3D_fdc1.json", function(progress){ if( progress == 'done' ){ //加载完成,播放风机动画 for( var i=0; i<actions[0].length; i++ ){ actions[0][i].play(); } }else if( progress == 'ok' ){ //渲染完成 onloadDone(); }else{ //显示进度条数字 document.getElementById("loadNum").innerHTML = Math.round( progress )+'%'; } }); var pointerTurn = true; //默认指针转动 //场景加载完成 function onloadDone(){ //监听鼠标控制器变化动作 controls3.addEventListener( 'change', function(){ let angle = MMSDT.compass(); //得到 0~360 度的角度值 document.getElementById("compass3").innerHTML = Math.round(angle) +"度"; //在div中显示当前值 if( pointerTurn == true ){ document.getElementById("compass2").style.transform = "rotate("+ angle +"deg)"; //指针的div转动 }else{ document.getElementById("compass1").style.transform = "rotate("+ angle +"deg)"; //表盘的div转动 } }); } //自定义对外函数接口------------------------------------------------------------------------ //指针转 MMAPI.turn1 = function(){ pointerTurn = true; document.getElementById("compass1").style.transform = "rotate(0deg)"; } //表盘转 MMAPI.turn2 = function(){ pointerTurn = false; document.getElementById("compass2").style.transform = "rotate(0deg)"; }

点击查看示例演示 →