我想我有一个普遍的问题。
我目前正在学习 C++ 和 SDL 2.0。SDL 提供了一个函数,该函数返回一个指向包含所有键状态的 const uint * 的指针。
这些是我想使用的变量:
const Uint8* oldKeyState;
const Uint8* currentKeyState;
在我的 input.cpp 的构建中:
currentKeyState = SDL_GetKeyboardState(&this->length);
oldKeyState = currentKeyState;
在我使用的 Update() 方法中:
oldKeyState = currentKeyState;
currentKeyState = SDL_GetKeyboardState(NULL);
但是,我没有复制最后一个值,而是提供一个指向 oldKeyState 的指针,该指针又指向当前的键状态。
那么如何将变量指针中的实际值复制到当前和旧的键状态呢?我不希望指针处于旧键状态,因为我将无法检查以前的状态是否为 UP 而新状态是否为 DOWN。