gpt4 book ai didi

c++ - 过剩屏幕调整大小

转载 作者:行者123 更新时间:2023-11-30 02:56:31 25 4
gpt4 key购买 nike

我正在尝试编写一个使屏幕全尺寸和正常尺寸的功能,更重要的是,当我将屏幕尺寸调整为正常尺寸时,它会回到我全尺寸之前的位置..我该怎么做它...

这是我做的

//global Variables
int scr_pos_x = 100, scr_pos_y = 150;

//somewhere else in main method
glutInitWindowPosition(scr_pos_x, scr_pos_y);
....
glutKeyboardFunc(myKeyboard);

//myKeyBoardFunction
void myKeyboard(unsigned char key, int x, int y){
if(key == 'f'){
int scr_pos_x = glutGet((GLenum)GLUT_WINDOW_X);
int scr_pos_y = glutGet((GLenum)GLUT_WINDOW_Y);
cout << " while f press "<<scr_pos_x <<" "<<scr_pos_y << endl; // to check
glutFullScreen();
}else if(key=='x'){
cout << " while x press "<<scr_pos_x <<" "<<scr_pos_y << endl; // to check
glutPositionWindow(scr_pos_x, scr_pos_y);
glutReshapeWindow(640, 480);
}
}

当我按下“f”时,我可以看到 scr_pos_x 和 scr_pos_y 设置为适当的值,但是当我按下“x”时,这些值不知何故变为 100 和 150。我错过了什么??

最佳答案

if(key == 'f'){
int scr_pos_x = glutGet((GLenum)GLUT_WINDOW_X);
int scr_pos_y = glutGet((GLenum)GLUT_WINDOW_Y);
cout << " while f press "<<scr_pos_x <<" "<<scr_pos_y << endl; // to check
glutFullScreen();
}

在这里,您创建了两个全新变量,分别称为scr_pos_xscr_pos_y,它们一直持续到if 结束堵塞。它们覆盖了全局的。

删除两个声明开头的 int 以便 glutGet() 覆盖 global scr_pos_xscr_pos_y 变量。

关于c++ - 过剩屏幕调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15445702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com