博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
移动端html5重力感应
阅读量:5142 次
发布时间:2019-06-13

本文共 930 字,大约阅读时间需要 3 分钟。

下面是测试案例,只测试过itouch,iphone
    
重力感应主要用到两种事件:
1 orientationchange
     这个事件在屏幕发生翻转时触发
     window.orientation可获得设备的方向,一共有三个值0:竖直,   90:右旋,   -90:左旋
deviceorientation 
和 
MozOrientation(firefox专用)
deviceorientation事件可获得三个值alpha,beta,gamma,分别代表绕Z轴的旋转角度(0~360),
绕X轴的旋转角度
(-180~180),
绕Y轴的旋转角度
(-90~90)
MozOrientation事件中
可获得三个值
z,x,y,
分别代表垂直加速度,左右的倾斜角度,前后的倾斜角度(取值范围:-1~1)
 
坐标系见下图
 
移动端html5重力感应 - FIR - 显微镜
 
下面是示例游戏用到重力感应的代码:
window.onorientationchange = 
function(e){
     game.hideNavBar();   
//屏幕翻转时隐藏地址栏
     
if(game.stage) game.stage.updatePosition(); 
//更新舞台位置
};
window.ondeviceorientation =  
function(e) 
{
    
var ang;
    
var o = window.orientation;  
//获取设备方向
    
if(o == 90){
        ang = e.beta;  
//设备横向1
    }
    
else 
if(o == -90){
        ang = -e.beta;  
//设备横向2
    }
    
else 
if(o == 0){
        ang = e.gamma;    
//设备纵向
    }
    
if(ang > 5) 
    {
        keyState[Q.KEY.RIGHT] = 
true;
    }
    
else 
if(ang < -5) 
    {
        keyState[Q.KEY.LEFT] = 
true;
    }
    
else
    {
        keyState[Q.KEY.RIGHT] = 
false;
        keyState[Q.KEY.LEFT] = 
false;
    }
}

转载于:https://www.cnblogs.com/luckk/p/4914245.html

你可能感兴趣的文章
Postman-----如何导入和导出
查看>>
【Linux】ping命令详解
查看>>
8、RDD持久化
查看>>
第二次团队冲刺--2
查看>>
使用Xshell密钥认证机制远程登录Linux
查看>>
【模板】最小生成树
查看>>
pair的例子
查看>>
uva 387 A Puzzling Problem (回溯)
查看>>
Oracle中包的创建
查看>>
django高级应用(分页功能)
查看>>
【转】Linux之printf命令
查看>>
关于PHP会话:session和cookie
查看>>
C#double转化成字符串 保留小数位数, 不以科学计数法的形式出现。
查看>>
利用IP地址查询接口来查询IP归属地
查看>>
构造者模式
查看>>
Hbuild在线云ios打包失败,提示BuildConfigure Failed 31013 App Store 图标 未找到 解决方法...
查看>>
找到树中指定id的所有父节点
查看>>
jQuery on(),live(),trigger()
查看>>
Date Picker控件:
查看>>
你的第一个Django程序
查看>>