दिलचस्प पोस्ट
मैं कैसे पता लगा सकता हूं कि मेरा जेवीएम किस चीस्टस्टोर का प्रयोग कर रहा है? अजीब जैक्सन अपवाद जब हाइबरनेट ऑब्जेक्ट serializing किया जा रहा है अंक एल्गोरिथम के बीच सबसे छोटी दूरी किसी दृश्य के पूर्ण निर्देशांक कैसे प्राप्त करें Django टेम्पलेट्स में दो सूचियों के माध्यम से फेरबदल शक्तियों में अशक्त संलयन 400 अंकों के मुकाबले 422 प्रतिक्रियाओं के उत्तर एक जेएएनएस ऑब्जेक्ट को एक जेएक्स-आरएस सेवा के लिए कैसे पोस्ट करें लैम्ब्डा अभिव्यक्ति से संपत्ति का नाम पुनर्प्राप्त करना जावास्क्रिप्ट: पता कैसे करें कि उपयोगकर्ता ब्राउज़र क्रोम है? किसी एप्लिकेशन से WiFi को सक्षम / अक्षम कैसे करें? एंड्रॉइड: टाइमर धागा से यूआई एलीमेंट एक्सेस करना "लिटिल स्कीमर" में केवल रूपों का उपयोग करके एक सूची को समतल करें Onclick घटना में एकाधिक जावास्क्रिप्ट कार्यों को कॉल करने के लिए कैसे? मैं एक फ़ाइल के एन्कोडिंग को विम के साथ कैसे बदल सकता हूँ?

एंड्रॉइड ओरिएंटेशन सेंसर का विकल्प क्या है?

हाय, मैं एंड्रॉइड के लिए एक 3D गेम का निर्माण कर रहा हूं।

मैं वर्तमान में अपने गेम के लिए एक सेंसर जोड़ने का प्रयास कर रहा हूं जो कि खिलाड़ी को एंड्रॉइड को उसके नियंत्रण के रूप में झुकाता है।

आदर्श रूप में मैं ओरिएंटेशन सेंसर का उपयोग करना चाहूंगा, लेकिन मैंने देखा कि इसे नापसंद किया गया है। क्या किसी को पता है कि एंड्रॉइड में झुकाव का पता कैसे लगा और इस संवेदक का उपयोग न करें?

Solutions Collecting From Web of "एंड्रॉइड ओरिएंटेशन सेंसर का विकल्प क्या है?"

कोई वास्तविक "अभिविन्यास" सेंसर नहीं है – यह वास्तव में एक संवेदी संवेदक है, जो एक्सीलरोमीटर और मैग्नेमोमीटर के संयोजन से उत्पन्न होता है।

http://developer.android.com/reference/android/hardware/SensorEvent.html से

"यह सेंसर प्रकार विरासत के कारणों के लिए मौजूद है, कृपया रिमैक कॉओरेडिएट सिस्टम () के साथ संयोजन में getRotationMatrix () का उपयोग करें और इसके बजाय इन मानों की गणना करें।"

public class OrientationTestActivity extends Activity implements SensorEventListener { private SensorManager mSensorManager; private Sensor mAccelerometer; private Sensor mMagnetometer; private float[] mLastAccelerometer = new float[3]; private float[] mLastMagnetometer = new float[3]; private boolean mLastAccelerometerSet = false; private boolean mLastMagnetometerSet = false; private float[] mR = new float[9]; private float[] mOrientation = new float[3]; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE); mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); mMagnetometer = mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD); } protected void onResume() { super.onResume(); mLastAccelerometerSet = false; mLastMagnetometerSet = false; mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL); mSensorManager.registerListener(this, mMagnetometer, SensorManager.SENSOR_DELAY_NORMAL); } protected void onPause() { super.onPause(); mSensorManager.unregisterListener(this); } public void onAccuracyChanged(Sensor sensor, int accuracy) { } @Override public void onSensorChanged(SensorEvent event) { if (event.sensor == mAccelerometer) { System.arraycopy(event.values, 0, mLastAccelerometer, 0, event.values.length); mLastAccelerometerSet = true; } else if (event.sensor == mMagnetometer) { System.arraycopy(event.values, 0, mLastMagnetometer, 0, event.values.length); mLastMagnetometerSet = true; } if (mLastAccelerometerSet && mLastMagnetometerSet) { SensorManager.getRotationMatrix(mR, null, mLastAccelerometer, mLastMagnetometer); SensorManager.getOrientation(mR, mOrientation); Log.i("OrientationTestActivity", String.format("Orientation: %f, %f, %f", mOrientation[0], mOrientation[1], mOrientation[2])); } } }