के लिए टचस्क्रीन का उपयोग करना मैं एंड्रॉइड प्लेटफॉर्म के लिए अपने पहले वीडियो गेम पर रात और सप्ताहांत परियोजना के रूप में काम कर रहा हूं।खेल नियंत्रण
यह अच्छी तरह से आ रहा है, लेकिन मैं नियंत्रण संवेदनशीलता से बहुत नाखुश हूं।
इस गेम में, आप स्क्रीन पर एक ऑब्जेक्ट बाएं और दाएं स्थानांतरित करते हैं। स्क्रीन के नीचे एक प्रकार का "टचपैड" है, जहां आपकी उंगली को आराम करना चाहिए।
/-------------------------\
| |
| |
| |
| Game Area |
| |
| |
| |
| |
| |
/-------------------------\
| |
| Touch Area |
| |
\-------------------------/
मैं वर्तमान में एक राज्य चर का उपयोग कर रहा "MOVING_LEFT, MOVING_RIGHT, NOT_MOVING" धारण करने के लिए और खिलाड़ी वस्तु का स्थान प्रत्येक फ्रेम कि चर के आधार पर अद्यतन करने कर रहा हूँ।
लेकिन, मेरा कोड है कि टचस्क्रीन इनपुट पढ़ता है और सेट इस राज्य चर रहा है या तो बहुत sensative, या भी laggy, मैं इसे कैसे tweak पर निर्भर करता है:
public void doTouch (MotionEvent e) {
int action = e.getAction();
if (action == MotionEvent.ACTION_DOWN) {
this.mTouchX = (int)e.getX();
this.mTouchY = (int)e.getY();
}
else if (action == MotionEvent.ACTION_MOVE) {
if ((int)e.getX() >= this.mTouchX) {
this.mTouchX = (int)e.getX();
this.mTouchY = (int)e.getY();
if (this.TouchRect.contains(this.mTouchX, this.mTouchY)) {
this.mTouchDirection = MOVING_RIGHT;
}
}
else if ((int)e.getX() <= this.mTouchX) {
this.mTouchX = (int)e.getX();
this.mTouchY = (int)e.getY();
if (this.TouchRect.contains(this.mTouchX, this.mTouchY)) {
this.mTouchDirection = MOVING_LEFT;
}
}
else {
this.mTouchDirection = NOT_MOVING;
}
}
else if (action == MotionEvent.ACTION_UP) {
this.mTouchDirection = NOT_MOVING;
}
}
विचार यह है कि जब वहाँ किसी भी आंदोलन है , मैं उपयोगकर्ताओं की उंगली के पिछले स्थान की जांच करता हूं और फिर खिलाड़ी को स्थानांतरित करने के लिए किस दिशा को समझता हूं।
यह बहुत अच्छा काम नहीं करता है, मुझे लगता है कि यहां कुछ आईफोन/एंड्रॉइड डेवलपर हैं जिन्होंने टचस्क्रीन के माध्यम से अच्छे नियंत्रण कैसे किया है और कुछ सलाह दे सकते हैं।
क्या आप परिभाषित कर सकते हैं कि "बहुत अच्छा काम नहीं करता है" और "बहुत लगी या बहुत संवेदनशील"। यह व्यवहार कैसे उपयोगी होगा –
दो संवेदनशील माध्यम है कि मैं अपनी उंगली को एक इंच का 10 वां स्थानांतरित करता हूं और खिलाड़ी स्क्रीन पर होता है .. यह लगी है कि मुझे खिलाड़ी को स्थानांतरित करने के लिए पूरी स्क्रीन पर अपनी उंगली ले जाना है एक इंच। :) – FlySwat