рдПрдХ рдмрд╛рд░ рдЬрдм рдореБрдЭреЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░рдиреА рдереА - рд╕реНрдХреНрд░реАрди рдХреЗ рдЙрдиреНрдореБрдЦреАрдХрд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ andengine рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдЪрд╛рд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЧреЗрдо рдЪрд▓рд╛рдПрдВред рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ - рдкрд░рд┐рджреГрд╢реНрдп рдФрд░ рдЪрд┐рддреНрд░ рдиреЗ рд╕рд╡рд╛рд▓ рдирд╣реАрдВ рдЙрдард╛рдПред рд╢реЗрд╖ рдкреНрд░рд╛рд╡рдзрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╡рд╛рд▓ рдЙрдареЗ - рд╕рдВрдХреЗрддрд┐рдд рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рдкрд░реАрддред рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдлрд╝реНрд▓рд┐рдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд╛рд░ рд╡рд┐рдХрд▓реНрдкред рдореБрдЭреЗ рд╕реЗрдВрд╕рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдУрд░ рдореБрдбрд╝рдирд╛ рдкрдбрд╝рд╛ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рди рдХреЗрд╡рд▓ рдПрдиреНрдЧрд┐рдбреАрдЗрди рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдирд┐рдпрдорд┐рдд рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рднреА рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕реЗрдВрд╕рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рдпрд╛ рдЬрд┐рд╕рдореЗрдВ рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЧрдгрдирд╛ рдХреА рдЧрдИ рдереА:
public class SensorRotation { private SensorManager sensorManager; private long lastUpdateTime; private int orientation = 1; private SensorEventListener sensorListener; private Activity activity; private boolean rightPosition = false; public SensorRotation instance; public SensorRotation(Context context) { sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE); lastUpdateTime = 0; } public void register(Activity activity, SensorEventListener listener) { try { if (sensorListener != null) { sensorManager.unregisterListener(sensorListener); } this.sensorListener = listener; this.activity = activity; sensorManager.registerListener(sensorListener, sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION), SensorManager.SENSOR_DELAY_GAME); Log.v("Activity = " + activity.getLocalClassName()); } catch (Exception e) { e.printStackTrace(); } } public void unregister() { sensorManager.unregisterListener(sensorListener); Log.v("unregister"); } private boolean in(float value, int min, int max) { return (value > min && value < max); } private int getCurrentOrientation(SensorEvent event) { float y = event.values[1]; float z = event.values[2];
рдлрд┐рд░ рдПрдХ рдРрд╕реА рдЧрддрд┐рд╡рд┐рдзрд┐ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдмрд╛рдХреА рдЦреЗрд▓ рдЧрддрд┐рд╡рд┐рдзрд┐ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╣реЛред
public abstract class TalentGameActivity extends BaseGameActivity implements SensorEventListener { @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } @Override public void onSensorChanged(SensorEvent event) { if (GameModel.getInstance().sensorRotation.onSensorChanged(event)) {
рдЕрдм рд╣рдо рд╕рднреА рдЦреЗрд▓ рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВред рдирд┐рд░реНрдорд╛рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ 180 рдбрд┐рдЧреНрд░реА рддрдХ рдЙрд▓реНрдЯрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреИрдорд░рд╛ рдХреЛ 180 рдбрд┐рдЧреНрд░реА рддрдХ рдЙрд▓реНрдЯрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
public class Drums extends TalentGameActivity { @Override public Engine onLoadEngine() { super.onLoadEngine(); mCamera = new Camera(0, 0, Const.ENGINE_PORTRAIT_WIDTH, Const.ENGINE_PORTRAIT_HEIGHT); mCamera.setRotation(180);
рд╡рд╣ рд╕рдм рд╣реИред