移动设备有一个非常有趣的输入机制,允许您通过倾斜来控制HTML5游戏中的对象。这与一个称为 加速度计 的特殊车载工具一起工作,该工具跟踪运动。加速度计实际上是测量旋转角度的,你可以用它来在你的游戏中获得很好的倾斜控制。
<! simpleGame库有一个名为Accel的特殊对象,封装了加速度计。它非常像Joy对象。创建一个Accel对象。
-
SimpleGame有一个Accel对象。创建这个对象来打开加速度计测试。
使用方法来确定倾斜。
-
Accel对象有一个特殊的方法getAX()和getAY()来指示旋转量。
<! - 2 - >
修改加速度值。 -
AX和AY分别显示围绕X轴和Y轴的旋转量。值范围从-9到9.通常,您需要修改倾斜值以获得您想要的行为。这通常涉及一些简单的数学计算。
这是加速的代码。 html:
加速。 html var game; var球;
var accel 函数init(){game = new Scene(); ball = new Sprite(game,“redBall.png”,50,50); accel = new Accel(); 游戏。 start();} //结束init函数update(){游戏。明确(); newDX = accel。 getAY(); newDY = accel。 getAX(); newDX * = -5; newDY * = -5; 球。 setDX(newDX); 球。 setDY(newDY); 球。 update();} 加速度计易于使用:
制作一个变量来保存加速度计对象。
你可以调用你的变量加速器。-
使用加速。 getAX()旋转X.
getAX()方法返回围绕X轴的倾斜百分比。 X轴在屏幕上从一边到另一边,所以围绕X的旋转通常与沿着Y轴的运动绑定!
-
使用acccel。 getAY()来确定围绕Y的旋转。同样,getAY()方法描述沿(垂直)Y轴倾斜的百分比。通常,您将使用getAY()来控制水平运动。
不要关心Z轴。
-
您也可以沿着Z轴(从屏幕中心到鼻子)读取旋转角度,但这通常不会有帮助。假设(现在)中立位置完全平躺在桌子上。
当设备完全躺在一张完全平坦的桌子上时,getAX()和getAY()会得到零值。
-
使用比例因子进行实验。
您通常必须将getAX()和getAY()结果乘以某个数值才能获得所需的行为。如果你乘以负数5,你会得到适当的值为dy和DX。你需要试验以得到你想要的行为。