우리는 전화기를 다른 방향 (예를 들어 자동차 가속)으로 돌리거나 회전 할 때 대상을 움직이게하는 게임을 어떻게 작성합니까? 그들은 가속도계와 자이로 스코프에서 판독 값을 사용합니까, 아니면 Android에서 OpenGL을 사용합니까?Android 게임에서 센서는 어떻게 사용됩니까?
0
A
답변
4
다양한 종류의 장치에서 널리 사용 가능하기 때문에 가속도계를 사용할 가능성이 있습니다.
당신은이 튜토리얼에서 살펴 걸릴 수도 있습니다 : 3 개 방향이
피치 값을 http://developer.android.com/resources/samples/AccelerometerPlay/src/com/example/android/accelerometerplay/AccelerometerPlayActivity.html
2
이 예제는 간단한 계산을 보여줍니다 여기 http://blog.androgames.net/85/android-accelerometer-tutorial/
을 그리고 구글에서 가속도계 기능의 데모입니다 , 방향 및 방위각.
if(SensorManager.getRotationMatrix(R, null, AccelerometerValues_last, MagneticFieldValues_last))
{
SensorManager.remapCoordinateSystem(R, SensorManager.AXIS_Y, SensorManager.AXIS_MINUS_X, remapR);
SensorManager.getOrientation(remapR, orientationValues);
Matrix.multiplyMV(orientationVector, 0, remapR, 0, sZVector, 0);
pitch = (float) (-Math.atan2(orientationVector[1], orientationVector[2]) * RADIANS_TO_DEGREES);
Matrix.multiplyMV(orientationVector, 0, remapR, 0, sZVector, 0);
orientation = (float) (-Math.atan2(orientationVector[0], orientationVector[1]) * RADIANS_TO_DEGREES);
Matrix.invertM(remapR_inv, 0, remapR, 0);
Matrix.multiplyMV(azimuthVector, 0, remapR_inv, 0, sZVector, 0);
azimuth = (float) (180 + Math.atan2(azimuthVector[0], azimuthVector[1]) * RADIANS_TO_DEGREES);
}
전체 코드는 How to use Android sensors?입니다. 참고하시기 바랍니다.
센서 판독 값을 사용하여 2D, 3D 등 무엇이든 그려지는 것을 제어합니다. –