SDL Window 移动时消失?
SDL Window Disappears on Movement?
我正在编写带有 SDL_WINDOW_BORDERLESS
window 标志的程序。现在我想自由移动 window,但如你所知我不能,因为你在 BORDERLESS
模式下没有 window 栏。我想出了用箭头键移动 window 的想法。一开始效果很好,但是到了显示图像的时候了。 BMP
确切地说; window,按下第二个箭头键,window 消失。
我已尽我所能更改代码,但我似乎无法弄清楚 window 消失的原因?似乎没有任何效果。有谁知道是什么原因造成的以及如何解决?
int right;
int down;
bool isquit = false;
SDL_Event event;
while (!isquit) {
if (SDL_PollEvent( & event)) {
switch(event.key.keysym.sym) {
case SDL_QUIT:
isquit = true;
break;
case SDLK_RIGHT:
right = right + 10;
SDL_SetWindowPosition(window, right, down);
break;
case SDLK_DOWN:
down = down + 10;
SDL_SetWindowPosition(window, right, down);
break;
case SDLK_LEFT:
right = right - 10;
SDL_SetWindowPosition(window, right, down);
break;
case SDLK_UP:
down = down - 10;
SDL_SetWindowPosition(window, right, down);
break;
case SDLK_ESCAPE:
isquit = true;
break;
}
}
}
有谁知道用箭头键移动边框更少window?
您的 right
和 down
变量是自动本地变量。他们没有被初始化。因此,当您设置 window 位置时,它会移出屏幕(可能很远)。
您应该将编译器警告级别设置为通知您使用未分配的局部变量。
我正在编写带有 SDL_WINDOW_BORDERLESS
window 标志的程序。现在我想自由移动 window,但如你所知我不能,因为你在 BORDERLESS
模式下没有 window 栏。我想出了用箭头键移动 window 的想法。一开始效果很好,但是到了显示图像的时候了。 BMP
确切地说; window,按下第二个箭头键,window 消失。
我已尽我所能更改代码,但我似乎无法弄清楚 window 消失的原因?似乎没有任何效果。有谁知道是什么原因造成的以及如何解决?
int right;
int down;
bool isquit = false;
SDL_Event event;
while (!isquit) {
if (SDL_PollEvent( & event)) {
switch(event.key.keysym.sym) {
case SDL_QUIT:
isquit = true;
break;
case SDLK_RIGHT:
right = right + 10;
SDL_SetWindowPosition(window, right, down);
break;
case SDLK_DOWN:
down = down + 10;
SDL_SetWindowPosition(window, right, down);
break;
case SDLK_LEFT:
right = right - 10;
SDL_SetWindowPosition(window, right, down);
break;
case SDLK_UP:
down = down - 10;
SDL_SetWindowPosition(window, right, down);
break;
case SDLK_ESCAPE:
isquit = true;
break;
}
}
}
有谁知道用箭头键移动边框更少window?
您的 right
和 down
变量是自动本地变量。他们没有被初始化。因此,当您设置 window 位置时,它会移出屏幕(可能很远)。
您应该将编译器警告级别设置为通知您使用未分配的局部变量。