DirectX 9.0 ÀÇ ¼Ò°³ DirectX SDK ÀÇ »ç¿ë¹ý C ¶Ç´Â C++ ¿¡ ÀÇÇÑ DirectX ÇÁ·Î±×·¡¹Ö Äݹé ÇÔ¼öÀÇ »ç¿ë¹ý   [¸ñÂ÷¿­¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
Äݹé ÇÔ¼öÀÇ »ç¿ë¹ý
 
Microsoft DirectX 9.0

Äݹé ÇÔ¼öÀÇ »ç¿ë¹ý


Äݹé ÇÔ¼ö´Â ±âº»ÀûÀ¸·Î À̺¥Æ® Çڵ鷯ÀÇ 1 °³À̸ç, ¾ÖÇø®ÄÉÀ̼ÇÀÌ Ã³¸® ÇØ, ½Ã½ºÅÛÀÌ È£ÃâÇÑ´Ù. º¸Åë, Microsoft® Windows® ¾ÖÇø®ÄÉÀ̼ǿ¡´Â º¹¼öÀÇ Äݹé ÇÔ¼ö°¡ ó¸® µÇ°í ÀÖ¾î °¢°¢ ´Ù¸¥ ±×·ìÀÇ À̺¥Æ®ÀÇ Ã³¸®¿¡ »ç¿ëµÈ´Ù. À̺¥Æ®°¡ ¹ß»ý Çϸé, ½Ã½ºÅÛÀº ÀûÀýÇÑ Äݹé ÇÔ¼ö¸¦ È£ÃâÇØ ¾ÖÇø®ÄÉÀ̼ǿ¡ ÅëÁöÇÑ´Ù. ¶Ç, º¸Åë, Äݹé ÇÔ¼ö´Â ÆÄ¶ó¹ÌÅÍ ¸®½ºÆ®¸¦ º¸°ü À¯ÁöÇϰí ÀÖ¾î, ½Ã½ºÅÛÀº ÀÌ ¸®½ºÆ®¸¦ »ç¿ëÇØ À̺¥Æ®¿¡ °üÇÑ »ó¼¼ Á¤º¸¸¦ ¾ÖÇø®ÄÉÀ̼ǿ¡ °Ç³×ÁØ´Ù. Äݹé ÇÔ¼öÀÇ °¡Àå ÀϹÝÀûÀÎ ¿¹´Â, À©µµ¿ì ÇÁ·Î½ÃÀúÀÌ´Ù. ÀÌ ÇÔ¼ö´Â, ½Ã½ºÅÛÀÌ À©µµ¿ì¸¦ ¼ÒÀ¯ÇÏ´Â ¾ÖÇø®ÄÉÀ̼ǿ¡ Windows ¸Þ½ÃÁö¸¦ °Ç³×ÁÙ ¶§ »ç¿ëÇÑ´Ù.

Microsoft DirectX® ¿¡¼­´Â, Äݹé ÇÔ¼ö¸¦ ´Ù¾çÇÑ ¸ñÀûÀ¸·Î »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î, ½Ã½ºÅÛÀº º¹¼öÀÇ ÀåÄ¡¸¦ Áö¿ø Çϰí ÀÖ´Ù. Microsoft DirectInput® ´Â °¢ ÀåÄ¡¸¦ ÀåÄ¡ °³Ã¼·Î ³ªÅ¸³½´Ù. ÀåÄ¡ °³Ã¼¿¡´Â, ±× ÀåÄ¡ÀÇ ±â´É¿¡ °üÇÑ »ó¼¼ Á¤º¸°¡ Æ÷ÇԵǾî ÀÖ´Ù. º¸Åë, ¾ÖÇø®ÄÉÀ̼ÇÀÌ »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¿Ã¹Ù¸£°Ô ó¸®ÇÏ·Á¸é , ÀÌ¿ë °¡´ÉÇÑ ÀåÄ¡¸¦ ¿­°ÅÇØ, ÀåÄ¡ °³Ã¼¸¦ Á¶»çÇÒ Çʿ䰡 ÀÖ´Ù. ÀÌ ¿­°Å¸¦ ½ÇÇàÇÏ·Á¸é ,DIEnumDeviceObjectsCallback Äݹé ÇÔ¼ö¸¦ ó¸® ÇØ¾ß ÇÑ´Ù.

¿­°Å¸¦ ½ÇÇàÇϱâ À§ÇÑ ÃÖÃÊÀÇ Ã³¸®´Â,IDirectInputDevice8::EnumObjects ÀÇ È£ÃâÀÌ´Ù. ´ÙÀ½¿¡,DIEnumDeviceObjectsCallback Äݹé ÇÔ¼öÀÇ Æ÷ÀÎÅ͸¦ ¸Þ¼­µå¿¡ °Ç³×ÁØ´Ù. ½Ã½ºÅÛÀº, °¢ ÀåÄ¡¿¡ ´ëÇØ¼­ 1 ȸ¾¿ ÀÌ ÇÔ¼ö¸¦ È£ÃâÇØ, ÀåÄ¡ÀÇ ±â´É¿¡ °üÇÑ Á¤º¸¸¦ Æ÷ÇÔÇÑ DIDEVICEOBJECTINSTANCE ±¸Á¶Ã¼¸¦ °Ç³×ÁØ´Ù. Äݹé ÇÔ¼ö´Â, ÀÌ Á¤º¸¸¦ ó¸®ÇÑ ÈÄ, ´ÙÀ½ÀÇ ÀåÄ¡ °³Ã¼¸¦ ¿ä±¸ÇÏ´Â °æ¿ì´Â DIENUM_CONTINUE ¸¦ µ¹·ÁÁÖ¾î, ¿­°Å¸¦ Á¤ÁöÇÏ´Â °æ¿ì´Â DIENUM_STOP ¸¦ µ¹·ÁÁØ´Ù.

DirectX ¿¡¼­´Â, ±× ¹Û¿¡µµ ´Ù¾çÇÑ Äݹé ÇÔ¼ö°¡ ´Ù¾çÇÑ ¸ñÀûÀ» À§Çؼ­(¶§¹®¿¡) »ç¿ëµÈ´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, °¢ DirectX ±¸¼º ¿ä¼ÒÀÇ ¹®¼­¸¦ ÂüÁ¶ÇÒ°Í.

Äݹé ÇÔ¼öÀÇ Ã³¸®

Äݹé ÇÔ¼ö¿¡´Â, ´Ù¾çÇÑ ¸ñÀû ¹× ¿ëµµ°¡ ÀÖ´Ù. ÀÌ ¶§¹®¿¡, º¸ÅëÀÇ ÇÔ¼ö¿Í °°°Ô, Äݹé ÇÔ¼ö¿¡ ´ëÇØ¼­µµ, °¢ ÇÔ¼öÀÇ ÁÖÁ¦·Î ¼³¸íÇÑ´Ù. ´Ù¸¸, Äݹé ÇÔ¼öÀÇ ·¹ÆÛ·±½º´Â, º¸ÅëÀÇ ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¡¹Ö ÀÎÅÍÆäÀ̽º (API)ÀÇ ·¹ÆÛ·±½º¿Í ´Þ¸®, ±× ÇÔ¼ö¸¦ ó¸® ÇÏ´Â ¹æ¹ýÀ» ³ªÅ¸³»´Â ÅÛÇø´ÀÌ µÇ¾î ÀÖ´Ù. Äݹé ÇÔ¼öÀÇ ·¹ÆÛ·±½º¿¡´Â, ´ÙÀ½ÀÇ Á¤º¸¸¦ ±âÀçÇϰí ÀÖ´Ù.

Äݹé ÇÔ¼ö´Â,CALLBACK Çü ¶Ç´Â WINAPI ÇüÀ¸·Î¼­ ¼±¾ðÇÑ´Ù. ¾î´À ÂÊÀÇ Å¸ÀÔÀ» »ç¿ëÇØµµ ±¦Âú´Ù. ÀÓÀÇÀÇ ÇÔ¼ö¸íÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¹®¼­·Î »ç¿ëµÇ°í ÀÖ´Â À̸§Àº, Äݹé ÇÔ¼öÀÇ ´Ü¼øÇÑ ÆíÀÇ À§¿¡ÀÇ ¶óº§ÀÌ´Ù.

·¹ÆÛ·±½ºÀÇ ¼³¸í¿¡ µû¶ó ÇÔ¼ö¸¦ ó¸® ÇÑ´Ù. ó¸® ¹æ¹ýÀÇ ÀÚ¼¼ÇÑ °ÍÀº, °¢ ÇÔ¼ö³ª ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¿ä°Ç¿¡ µû¶ó¼­ ´Ù¸£´Ù. ´Ù¾çÇÑ Äݹé ÇÔ¼öÀÇ Ã³¸® ¹æ¹ýÀÇ ¿¹¿¡ ´ëÇØ¼­´Â, »ùÇà Äڵ带 ÂüÁ¶ÇÒ°Í.

ÇÔ¼öÀÇ Æ÷ÀÎÅ͸¦ ÀûÀýÇÑ DirectX ±¸¼º ¿ä¼Ò¿¡ °Ç³×ÁØ´Ù. DirectX ±¸¼º ¿ä¼Ò´Â, ÀÌ ÇÔ¼ö Æ÷ÀÎÅ͸¦ »ç¿ëÇØ ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. ÀÌ Æ÷ÀÎÅÍÀÇ °Ç³×ÁÖ´Â ¹æ¹ýÀº, ÇÔ¼ö¿¡ µû¶ó¼­ ´Ù¸£¹Ç·Î, ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â °¢ ÇÔ¼öÀÇ ·¹ÆÛ·±½º¸¦ ÂüÁ¶ÇÒ°Í.

´ÙÀ½ ÄÚµå´Â, DirectInput Joystick »ùÇÃÀÇ ÀϺÎÀÌ´Ù. ÀÌ Äڵ忡´Â, Á¶À̽ºÆ½ÀÇ ÃàÀ» ¿­°ÅÇϱâ À§Çؼ­ »ç¿ëµÇ´Â DIEnumDeviceObjectsCallback ÀÇ Ã³¸®ÀÇ ±âº»ÀûÀÎ ¿ä¼Ò°¡ Æ÷ÇԵǾî ÀÖ´Ù.

// The function declaration
BOOL CALLBACK EnumAxesCallback( const DIDEVICEOBJECTINSTANCE* pdidoi,
                                VOID* pContext );
...
// Pass the function pointer to DirectInput by calling the 
// IDirectInputDevice9::EnumObjects method

if ( FAILED( hr = g_pJoystick->EnumObjects(EnumAxesCallback, 
                                            (VOID*) hDlg,
                                            DIDFT_AXIS )));

...

// The function implementation
BOOL CALLBACK EnumAxesCallback( const DIDEVICEOBJECTINSTANCE* pdidoi,
                                VOID* pContext )
{
// Process the information passed in through the two parameters
// Return DIENUM_CONTINUE to request the next device object
// Return DIENUM_STOP to stop the enumeration
}



© 2002 Microsoft Corporation. All rights reserved.
¡èTOP