本帖最后由 张宇 于 2015-1-19 17:22 编辑
如果你只是想获取横竖屏切换的消息,请看这个帖子
我们在手机上玩一些赛车游戏,很多是通过重力感应来操作的,html5里也有相应的事件来相应。
把手机平放在桌面,有xyz三个轴,沿着三个轴转动,在js代码里可以获得转动的角度。
附件是源代码,通过重力感应让一个小球在屏幕中移动和转动
Main.ts里有一个onRotation。获得到角度以后传进来,控制小球的移动方向和旋转角度
- public onRotation(angleX:number,angleY:number,angleZ:number):void{
- this.txtX.text = "X轴:"+angleX.toString();//-90 --- +90
- this.txtY.text = "Y轴:"+angleY.toString();//-180 --- +180
- this.txtZ.text = "Z轴:"+angleZ.toString();//0-360
- //场景的宽高为600x600,中心点是300,300
- this.ball.y = 300 -angleX/90*300;
- this.ball.x = 300 -angleY/90*300;
- this.ball.rotation = angleZ;
复制代码
打开launcher/egret_loader.js。59行获得3个轴的角度,就这么2行,很简单吧。- window.ondeviceorientation = function(e){
- rootContainer.onRotation(Math.floor(e.beta), Math.floor(e.gamma), Math.floor(e.alpha))
- }
复制代码
测试地址
PS:刚发现macbook好牛逼,笔记本都有重力感应芯片,可以获得x轴和y轴的旋转角度。
|
|