Aracılığıyla paylaş


Oyun Çubuğu İletilerini İşleme

[Bu sayfayla ilişkilendirilmiş Oyun Çubuklarıözelliği eski bir özelliktir. Windows.Gaming.Input Ad Alanıtarafından yerini almıştır. Windows.Gaming.Input Ad Alanı, Windows 10 ve Windows 11 için iyileştirilmiştir. Microsoft, yeni kodun mümkün olduğunda Oyun Çubuğu yerine Windows.Gaming.Input Ad Alanı kullanılmasını kesinlikle önerir. Microsoft, mümkünse yeni API'leri kullanmak için eski API'leri kullanan mevcut kodun yeniden yazılmasını önerir.]

Aşağıdaki örnek, bir uygulamanın düğme durumlarındaki oyun çubuğu hareketlerine ve değişikliklerine nasıl yanıt verebileceğini göstermektedir. Oyun çubuğunun konumu değiştiğinde, uygulama imleci taşır ve herhangi bir düğmeye basıldığında masaüstünde bir kurşun deliği çizer. Oyun çubuğu düğmesine basıldığında, uygulama masaüstünde bir delik çizer ve bir düğme serbest bırakılana kadar sürekli olarak bir ses çalar. İzleyebileceğiniz iletiler MM_JOY1MOVE, MM_JOY1BUTTONDOWNve MM_JOY1BUTTONUP.

case MM_JOY1MOVE :                     // changed position 
    if((UINT) wParam & (JOY_BUTTON1 | JOY_BUTTON2)) 
        DrawFire(hWnd); 
    DrawSight(lParam);                 // calculates new cursor position 
    break; 
case MM_JOY1BUTTONDOWN :               // button is down 
    if((UINT) wParam & JOY_BUTTON1) 
    { 
        PlaySound(lpButton1, SND_LOOP | SND_ASYNC | SND_MEMORY); 
        DrawFire(hWnd); 
    } 
    else if((UINT) wParam & JOY_BUTTON2) 
    { 
        PlaySound(lpButton2, SND_ASYNC | SND_MEMORY |  SND_LOOP); 
        DrawFire(hWnd); 
    } 
    break; 
case MM_JOY1BUTTONUP :                 // button is up 
    sndPlaySound(NULL, 0);             // stops the sound 
    break;