小屋創作

日誌2014-04-20 11:28

嗯...這傢伙會寫嗎?

作者:likwueron

我得說,程式優化雖然是可以在後期才做,不過有些東西很明顯,不需要拖到很後面吧?
當然啦,我個人沒接觸過純Windows的程式設計,或許有些觀念真的不一樣...

因為SDL不支援搖桿震動,所以我打算在Windows端直接用微軟的XInput,然後我找到這篇
結果這位作者這麼寫:
if(Player1->IsConnected())
        {
            if(Player1->GetState().Gamepad.wButtons & XINPUT_GAMEPAD_A)
            {
                Player1->Vibrate(65535, 0);
            }

            if(Player1->GetState().Gamepad.wButtons & XINPUT_GAMEPAD_B)
            {
                Player1->Vibrate(0, 65535);
            }

            if(Player1->GetState().Gamepad.wButtons & XINPUT_GAMEPAD_X)
            {
                Player1->Vibrate(65535, 65535);
            }

            if(Player1->GetState().Gamepad.wButtons & XINPUT_GAMEPAD_Y)
            {
                Player1->Vibrate();
            }

            if(Player1->GetState().Gamepad.wButtons & XINPUT_GAMEPAD_BACK)
            {
                break;
            }
        }


而這是他的GetState()
XINPUT_STATE CXBOXController::GetState()
{
    // Zeroise the state
    ZeroMemory(&_controllerState, sizeof(XINPUT_STATE));

    // Get the state
    XInputGetState(_controllerNum, &_controllerState);

    return _controllerState;
}


難道他就沒想過,這樣一來就是一直反覆的覆寫一個變數嗎?
這真的有意義嗎?

2

1

LINE 分享

相關創作

2024 的個人網頁設計

[達人專欄] [ OpenGL 入門到入土 # 2] Compute shader、GPU Instance、DrawIndirect與實作Frustum culling

promise.all 有一個失敗就不會往下做其他promise了,如何無痛讓promise做事 - promise.all的陷阱

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】