0
我设法获取加速度计值(x,y,z)。有一个简单的方法可以让这些值循环移动吗?我也希望它停在屏幕的边缘。谢谢!android:使用加速度计的值移动形状/图像
我设法获取加速度计值(x,y,z)。有一个简单的方法可以让这些值循环移动吗?我也希望它停在屏幕的边缘。谢谢!android:使用加速度计的值移动形状/图像
我认为你可以做这样的事情(注:部分伪代码):
public void onSensorChanged (int sensor, float[] values) {
//adjust someNumber to desired speed
//values[1] can be -180 to 180
float xChange = someNumber * values[1];
//values[2] can be -90 to 90
float yChange = someNumber * 2 * values[2];
//only move object if it will stay within the bounds
if (object.xPos + xChange > 0 && object.xPos + xChange < xBorder) {
object.xPos += xChange;
}
if (object.yPos + yChange > 0 && object.yPos + yChange < yBorder) {
object.yPos += yChange;
}
//force a repaint of your surface here
}
其中:
onSensorChanged
是每次被称为加速度移动方法.. 。我不确定你是否使用SensorManager,但它对你的情况似乎很方便。请注意,您必须自己实施此方法。object
是你想要移动的圆圈。xBorder
和yBorder
是对象移动的最大边界。最小边界被假定为0和0,尽管你可以使用任何你喜欢的。