इसका उपयोग करके अपने गेम में माउस डिवाइस का समर्थन जोड़ने के लिए निम्न फ़ंक्शन का उपयोग करें गेम कंट्रोलर लाइब्रेरी. हम यहां माउस डिवाइस शब्द का इस्तेमाल, इनके बारे में बताने के लिए करते हैं पारंपरिक माउस, साथ ही ट्रैकपैड या ट्रैकबॉल भी.
माउस के स्टेटस का कॉलबैक जोड़ना
गेम कंट्रोलर लाइब्रेरी, माउस स्टेटस कॉलबैक का इस्तेमाल करके, गेम को तब सूचना देती है, जब माउस कनेक्ट या डिसकनेक्ट हो गया है. यह सिर्फ़ एक माउस स्टेटस कॉलबैक के साथ काम करता है एक समय में.
- माउस स्टेटस कॉलबैक को रजिस्टर करने या पहले से रजिस्टर किसी भी कॉलबैक को बदलने के लिए
एक नए कॉलबैक फ़ंक्शन के साथ कॉलबैक करके,
Paddleboat_setMouseStatusCallback
फ़ंक्शन का इस्तेमाल करें. - रजिस्टर किए गए किसी मौजूदा कॉलबैक को हटाने के लिए,
NULL
याnullptr
कोstatusCallback
पैरामीटर. userData
पैरामीटर, उपयोगकर्ता के तय किए गए डेटा का एक वैकल्पिक पॉइंटर है. कॉन्टेंट बनानेuserData
पैरामीटर को कॉलबैक फ़ंक्शन को पास किया जाएगा. यह पॉइंटर को तब तक आंतरिक रूप से बनाए रखा जाता है, जब तक कि इसे किसी अन्य कॉल से बदला नहीं जाताPaddleboat_setMouseStatusCallback
.
void Paddleboat_setMouseStatusCallback(Paddleboat_MouseStatusCallback
statusCallback, void *userData)
माउस के स्टेटस के कॉलबैक फ़ंक्शन का फ़ंक्शन सिग्नेचर यह है:
typedef void (*Paddleboat_MouseStatusCallback)(const Paddleboat_MouseStatus
mouseStatus, void *userData)
mouseStatus
enum पैरामीटर में तीन संभावित वैल्यू हैं:
PADDLEBOAT_MOUSE_NONE
: फ़िलहाल, कोई माउस डिवाइस कनेक्ट नहीं है.PADDLEBOAT_MOUSE_CONTROLLER_EMULATED
: कनेक्ट किया गया कंट्रोलर सिम्युलेट कर रहा है एक माउस.PADDLEBOAT_MOUSE_PHYSICAL
: एक या उससे ज़्यादा माउस डिवाइस हैं कनेक्ट किया गया. (इन डिवाइसों में माउस, टचपैड, ट्रैकबॉल या अन्य मिलते-जुलते डिवाइस.)
userData
पैरामीटर में आखिरी बार में तय किया गया userData
पॉइंटर शामिल है
Paddleboat_setMouseStatusCallback
को कॉल. userData
शून्य या शून्य हो सकता है
nullptr
.
सभी कंट्रोलर, माउस की नकल नहीं करते. नियंत्रक एक माउस का इस्तेमाल करके माउस की नकल कर सकते हैं लगा सकते हैं.
गेम कंट्रोलर की लाइब्रेरी से, माउस के सिर्फ़ एक डिवाइस का डेटा रिपोर्ट किया जा सकता है. वर्चुअल कंट्रोलर माउस डिवाइसों के मुकाबले फ़िज़िकल माउस डिवाइसों को प्राथमिकता मिलती है. अगर कोई फ़िज़िकल माउस कनेक्ट है. यह, पहले से चालू किसी वर्चुअल वर्चुअल कर्सर की जगह ले लेता है कंट्रोलर माउस.
माउस का डेटा देखने की अनुमति दें
माउस डिवाइस की स्थिति जानने के लिए, Paddleboat_getMouseStatus
फ़ंक्शन को कॉल करें.
Paddleboat_MouseStatus Paddleboat_getMouseStatus()
Paddleboat_getMouseData
का इस्तेमाल करें
फ़ंक्शन का इस्तेमाल करें. यह फ़ंक्शन, रिटर्न
अगर डेटा सही तरीके से पढ़ लिया जाता है, तो PADDLEBOAT_NO_ERROR
. अगर ऐसा नहीं है, तो
गड़बड़ी का सही कोड दिखाया जाता है.
bool Paddleboat_getMouseData(Paddleboat_Mouse_Data *mouseData)
Paddleboat_Mouse_Data
स्ट्रक्चर में इनके बारे में जानकारी होती है:
- माउस के इनपुट इवेंट का सबसे हाल का टाइमस्टैंप
- पॉइंटर की मौजूदा जगह
- माउस के बटन की स्थिति
- माउस व्हील की स्थिति
struct Paddleboat_Mouse_Data {
uint64_t timestamp;
uint32_t buttonsDown;
int32_t mouseScrollDeltaH;
int32_t mouseScrollDeltaV;
float mouseX;
float mouseY;
}
स्ट्रक्चर का सदस्य | ब्यौरा |
---|---|
timestamp
|
सबसे हाल के माउस इनपुट इवेंट का टाइमस्टैंप. इसके बाद से, टाइमस्टैंप की वैल्यू माइक्रोसेकंड में है. क्लॉक epoch का इस्तेमाल करें. |
buttonsDown
|
बिटफ़ील्ड, हर बिट, बिट 0 से शुरू होती है अगर नीति को सेट किया जाता है, तो यह बटन के डाउन होने की स्थिति को दिखाता है. |
mouseX mouseY
|
पिक्सल कोऑर्डिनेट में माउस की पोज़िशन.
पोज़िशन कोऑर्डिनेट की रेंज 0.0 से लेकर
स्क्रीन की चौड़ाई और ऊंचाई. |
mouseScrollDeltaH mouseScrollDeltaV
|
माउस स्क्रोल व्हील इवेंट की कुल संख्या :
को
Paddleboat_getMouseData . ये मान नहीं हैं
सटीक होने की गारंटी दी जाती है,
स्क्रोल व्हील गतिविधि का संकेत
खास दिशा में काम करें. ज़्यादातर चूहों में एक
स्क्रोल व्हील है जिसकी रिपोर्ट
mouseScrollDeltaV . अगर चूहे के एक तरफ़
व्हील स्क्रोल करते हैं, इसकी रिपोर्ट
mouseScrollDeltaH . इन वैल्यू को इस पर रीसेट किया जाता है
को कॉल करने के बाद 0 आंतरिक रूप से
Paddleboat_getMouseData . |
गेम कंट्रोलर लाइब्रेरी से, ब्राउज़र के माउस बटन के लिए बिटमास्क कॉन्सटेंट के बारे में पता चलता है
paddleboat.h
इंटरफ़ेस हेडर फ़ाइल:
enum Paddleboat_Mouse_Buttons {
PADDLEBOAT_MOUSE_BUTTON_LEFT = (1U << 0),
PADDLEBOAT_MOUSE_BUTTON_RIGHT = (1U << 1),
PADDLEBOAT_MOUSE_BUTTON_MIDDLE = (1U << 2),
PADDLEBOAT_MOUSE_BUTTON_BACK = (1U << 3),
PADDLEBOAT_MOUSE_BUTTON_FORWARD = (1U << 4),
PADDLEBOAT_MOUSE_BUTTON_6 = (1U << 5),
PADDLEBOAT_MOUSE_BUTTON_7 = (1U << 6),
PADDLEBOAT_MOUSE_BUTTON_8 = (1U << 7)
};
फ़िज़िकल और वर्चुअल माउस डिवाइस
PADDLEBOAT_MOUSE_CONTROLLER_EMULATED
के Paddleboat_MouseStatus
से पता चलता है कि
एक असली माउस डिवाइस मौजूद नहीं है और गेम कंट्रोलर लाइब्रेरी
जो कनेक्ट किए गए कंट्रोलर का इस्तेमाल करके वर्चुअल माउस को सिम्युलेट करता है. सबसे कम कनेक्टेड
PADDLEBOAT_CONTROLLER_FLAG_VIRTUAL_MOUSE
फ़्लैग सेट वाला कंट्रोलर इंडेक्स है
का इस्तेमाल वर्चुअल माउस के रूप में किया जाता है. वर्चुअल माउस डिवाइस सिर्फ़ रिपोर्ट करेंगे
mouseX
और mouseY
कोऑर्डिनेट. वर्चुअल माउस डिवाइस,
एकल (बायां) माउस बटन है, लेकिन इसकी कोई गारंटी नहीं है.