Мышь в DirectInput7
От: Reunion  
Дата: 10.10.02 03:33
Оценка: 3 (1)
Привет всем.
Я пишу игру на DirectX7 и у меня возникла следующая проблема. Мне надо сделать кнопку. У кнопки 3 состояния: up (ненажата), down (курсор мыши над кнопкой и нажата левая кнопка мыши) и over (курсор мыши над кнопкой). Вопрос: как определить, что нажата левая кнопка мыши??? Я использую код:


    HRESULT hRes;
    DIDEVICEOBJECTDATA dod;
    DWORD dwElements = 1;

    while(!bDone){
        hRes = pDIMouse->GetDeviceData(sizeof(DIDEVICEOBJECTDATA), &dod, &dwElements, 0);
        if(hRes == DIERR_INPUTLOST){
            pDIMouse->Acquire();
            hRes = pDIMouse->GetDeviceData(sizeof(DIDEVICEOBJECTDATA), &dod, &dwElements, 0);
        }
        if(FAILED(hRes) || dwElements == 0)
            return mousedata;

        switch(dod.dwOfs){
            ...
            case DIMOFS_BUTTON0:
                if(dod.dwData & 0x80){
                    ...
                }
                break;
        }
    }


но вот, что получается: когда я нажимаю кнопку мыши моя кнопка становится down и тут же возвращается в over, хотя кнопка мыши все еще нажата.

PS. Хотелось бы укидеть код, заранее спасибо.

31.03.03 16:33: Перенесено модератором из 'Прочее' — H_D
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.