Chinaunix首页 | 论坛 | 博客
  • 博客访问: 157399
  • 博文数量: 42
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 399
  • 用 户 组: 普通用户
  • 注册时间: 2015-09-23 11:47
个人简介

程序猿啊程序猿

文章分类

全部博文(42)

文章存档

2016年(28)

2015年(14)

我的朋友

分类: HTML5

2016-06-08 16:01:37

效果图如下:

关键部分都有代码注释,代码如下:

点击(此处)折叠或打开

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>Document</title>
  6.   <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
  7.     <style>
  8.     body,img{
  9.         padding:0;
  10.         margin:0;
  11.     }
  12.   .contain{
  13.     position: absolute;
  14.     width: 100%;
  15.     height: 100px;
  16.     bottom: 1%;
  17.     text-align: center;
  18.   }
  19.   #view{
  20.     width:100px;
  21.     height: 100px;
  22.     margin:0 auto;
  23.     border:1px solid #ccc;
  24.     position:relative;
  25.     line-height: 100px;
  26.     font-size: 20px;
  27.     color:red;
  28.   }
  29.   #stage{background: #ccc}

  30.     </style>
  31. </head>
  32. <body>
  33.   <div class="contain">
  34.   <div id="view">
  35.     一路顺风!
  36.   </div>
  37.   </div>
  38.   
  39. <p id="stage"></p>
  40. <script type="text/javascript">
  41.     var view=document.getElementById('view');
  42.     window.addEventListener('deviceorientation',DeviceOrientationHandler,false);
  43.      function DeviceOrientationHandler(event){
  44.         var event=event || window.event;
  45.         var alpha = event.alpha,
  46.             beta = event.beta,
  47.             gamma = event.gamma; //gamma为Y轴旋转角度,数据类型为object
  48.         var stage=document.getElementById('stage');
  49.         var deriveW=document.body.clientWidth; //获得设备的宽度
  50.         var speed=(deriveW/90)*(Number(gamma)); //手机旋转时,游戏人物移动速率
  51.         var left=0;//初始化位置
  52.         var w=document.body.clientWidth/2-50;//左右两侧移动的最大距离
  53.        if(alpha != null || beta != null || gamma != null){
  54.             if( gamma > 0 ){
  55.                 left=left+speed;
  56.                 if(left>=w){player.style.left=w+"px";};
  57.                 view.style.left=left+"px";
  58.                 stage.innerHTML = "向右倾斜"+gamma+"度";

  59.             }else{
  60.                 left=left+speed;
  61.                 if(left<=-w){player.style.left=-w+"px";}
  62.                 view.style.left=left+"px";
  63.                 stage.innerHTML = "向左倾斜"+gamma+"度";
  64.             }
  65.         }
  66.        // alert(typeof gamma);
  67.     }
  68. </script>
  69. </body>
  70. </html>                                                                                                                                         





PS:附上一个介绍重力感应的博客,希望对你们有帮助:
阅读(3228) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~