注意!!!!! 注意!!!!! 注意!!!!! 项目的访问链接必须是https 不然 ios 无法使用
//初始化的时候调用此方法进行监听
private readyShake(): void
{
if (window && window["DeviceMotionEvent"])
{
var second = 1000;//秒
var starttime = egret.getTimer();//开始时间
var startX, startY, startZ, endX, endY, endZ;//开始坐标和结束坐标
startX = startY = startZ = endX = endY = endZ = 0;
window.addEventListener('devicemotion', (e) =>
{
var acceleration = e.accelerationIncludingGravity;//
var endtime = egret.getTimer();//结束时间
if ((endtime - starttime) > 100)
{
var diffTime = endtime - starttime;//时间差
startX = acceleration.x;
startY = acceleration.y;
startZ = acceleration.z;
var speed = Math.abs(startX + startY + startZ - endX - endY - endZ) / diffTime * 10000;
if (speed > second)
{
this.count++;
if (this.count > 2 && this.qiyong == true)
{
console.log("摇一摇" + "次数" + this.count);
}
}
starttime = endtime;
endX = startX;
endY = startY;
endZ = startZ;
}
}, false);
} else
{
alert('不支持传感器事件');
}