c++ - SDL_GetWindowPosition() 不更新 int 指针
问题描述
我正在尝试按照 youtube 上的教程学习 SDL。但是当我尝试使用 SDL_GetWindowPosition() 和 SDL_GetWindowSize() 时,似乎没有更新 int*。
这是我的代码:
#include <iostream>
#include "include/SDL2/SDL.h"
using namespace std;
void CreateWindow(SDL_Window *win){
win = SDL_CreateWindow("Title",
SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED,
800, 600,
SDL_WINDOW_RESIZABLE);
if (win == nullptr)
cout<<"Could not create window.\n"<<SDL_GetError()<<'\n';
}
void QuitWindow(SDL_Window *win){
// SDL_Delay(3000); // 3 seconds
SDL_DestroyWindow(win);
SDL_Quit();
}
int main(int argc, char* argv[]) {
// initialize window
SDL_Init( SDL_INIT_EVERYTHING );
SDL_Window *win = nullptr;
CreateWindow(win);
// main loop
SDL_Event event;
bool run = true;
while (run){
int x, y, w, h;
while (SDL_PollEvent(&event)){
if (event.type == SDL_QUIT){
run = false;
QuitWindow(win);
break;
}
}
SDL_GetWindowPosition(win, &x, &y);
SDL_GetWindowSize(win, &w, &h);
cout<<x<<','<<y<<" ; "<<w<<','<<h<<endl;
}
return 0;
}
cout 的结果类似于: 1048591,1872715060 ;1,1965549662
我试图删除主循环并简单地创建窗口 -> getwindowposition -> getwindowsize -> 退出。但仍然得到类似的结果。我怎么解决这个问题?
解决方案
推荐阅读
- python - 使用nohup时python脚本无法工作
- javascript - 根据input.value打印嵌套数组内部数组中的所有对象?
- c# - 逆向工程中的 EntityFarmeworkCore 支架错误
- can-bus - J1939 与 CANBus
- node.js - 有没有办法在特定字段的值范围内聚合两个集合?
- python - Tkinter:在顶层窗口上使用 ttkthemes
- reactjs - Material UI 自定义类后面的属性
- ios - 在 iOS 14 上的 SwiftUI 中显示两次视图
- scala - 如何作为任务的结果返回空向量?
- cloud - Openstack多站点云编排