기술/beginning games2011. 5. 31. 19:00
download download
가속센서 핸들러

- 센서는 독립된 하드웨어 장비이므로 별도의 명령을 내리지 않더라도 부팅한 직후부터 항상 동작중이다. 따라서 초기화를 따로 할 필요는 없으며 필요할 때 원하는 값을 센서로부터 전달받기만 된다. 센서값은 끊임없이 변하며 이때마다 리스너로 변경된 값을 전달한다. 센서 관리자의 다음 메서드로 리스너를 설치하고 대기한다.

public class AccelerometerHandler implements SensorEventListener{
float accelX;
float accelY;
float accelZ;
public AccelerometerHandler(Context context){
SensorManager manager = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE);  // 센서 서비스 메니저 생성

if(manager.getSensorList(Sensor.TYPE_ACCELEROMETER).size() != 0){   // 가속 센서가 있다면 
Sensor accelermeter = manager.getSensorList(Sensor.TYPE_ACCELEROMETER).get(0);  // 가속센서를 가져 온다.
manager.registerListener(this, accelermeter,SensorManager.SENSOR_DELAY_GAME);  //게임에 접합한 정도의 주기로 가속 센서를 등록한다.
}
}

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}

@Override
public void onSensorChanged(SensorEvent event) {
accelX = event.values[0];
accelY = event.values[1];
accelZ = event.values[2];
}
public float getAccelX(){
return accelX;
}

public float getAccelY(){
return accelY;
}

public float getAccelZ(){
return accelZ;
}
}
download download download
Posted by yachtie_leo