最近在公司做了一个VR视频的遥控器,目的在于利用手机充当遥控器角色,控制电视端VR视频的播放,我主要开发体感功能,也就是调用手机陀螺仪的数据,以下为具体操作:
- 在画面中增加一个体感功能的开关,绑定点击事件
- 进入网页后,体感功能自动为开启状态。
- 当体感功能状态变化时,如果从开启状态变为关闭,则移除其注册监听事件;如果从关闭变为开启状态,则先进行手机内是否有陀螺仪传感器的判断,如果没有,则提示“该设备不支持体感功能”,如果有,则对陀螺仪添加一个注册监听事件。具体代码如下所示
sensorControl:function(){ if (this.senorswitch) { if(window.DeviceOrientationEvent){ window.addEventListener("deviceorientation", this.handleOrientation, true); this.isSensorExist = false; }else{ this.isSensorExist = true; } }else { window.removeEventListener("deviceorientation", this.handleOrientation, true); } },
- 由于陀螺仪非常敏感,且发送频率高,所以在handleOrientation事件中,先进行时间间隔的判断,先将当前时刻赋值给一个变