通过这些行,我设法只在我的sdl窗口内获取了鼠标坐标。此代码在“绘制”函数内部。
SDL_SetHintWithPriority(SDL_HINT_MOUSE_RELATIVE_MODE_WARP, "1", SDL_HINT_OVERRIDE);
SDL_GetMouseState(&mxx, &myy);
//other code
SDL_GL_SwapWindow(window);
现在我绘制两个窗口:是否只有在第一个窗口内时才能获得鼠标位置?(当第二个窗口内的鼠标认为它不在第一个窗口的边界内时)窗口和坐标未更新)
void draw(){
//common part
if (windowId == 0) {
//draw something in the first window
}
else {
//draw other things in the second window
}
SDL_GL_SwapWindow(window);
}
这是我的draw函数的这种结构,在创建2个SDL Windows对象之后在主体中这样调用
window1.draw()
window2.draw()