gpt4 book ai didi

c++ - 尝试在 C++ SFML 代码块中设置帧率时出错

转载 作者:行者123 更新时间:2023-11-28 05:09:01 25 4
gpt4 key购买 nike

您好,我正在尝试设置一个程序,让球在渲染窗口中弹跳。我正在使用 SFML c++、iostream、codeblocks(如果有区别的话)。我知道我离完成还差得很远,而且我很可能会走错方向。但是,我确实知道的一件事是,为了让我的程序正常工作,我需要实现 sf::Window::setFramerateLimit(60); 或者至少我的代码中就是这样。

include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
using namespace sf;

int main(){
RenderWindow window(sf::VideoMode(1500,800), "Bouncing Circle");
sf::Window::setFramerateLimit(60);

每当我尝试构建/运行我的程序时,我都会遇到错误:

错误:无法在没有对象的情况下调用成员函数'void sf::Window::setFramerateLimit(unsigned int)'|

#include<iostream>
#include<SFML/Graphics.hpp>
#include<stdlib.h>
#include<time.h>
using namespace std;
using namespace sf;

int main(){
RenderWindow window(sf::VideoMode(1500,800), "Bouncing Circle");
sf::Window::setFramerateLimit(60);
srand(time(NULL));
int Rand1 = rand()%1500+1;
int Rand2 = rand()%800+1;
int x;
int y;
int BREAK = 1;
sf::CircleShape MyCircle(50);
MyCircle.setPosition(1,1);
MyCircle.setFillColor(sf::Color(500,0,0));

while (window.isOpen())
{

sf::Event event;
while (window.pollEvent(event));
{
if(event.type == sf::Event::Closed)
window.close();

}
x = 1;
y = 1;
for(int ii = 0; ii < 675; ii++){

x++;
y++;
MyCircle.setPosition(x, y);
window.draw(MyCircle);
window.display();
window.clear();
BREAK++;
if(BREAK == 675){
break;
}
}

}
return 0;
}

最佳答案

在你有 sf::Window::setFramerateLimit(60); 的地方尝试 window.setFramerateLimit(60); 这会为你创建的窗口设置帧速率(命名为“窗口”)到每秒 60 帧。

关于c++ - 尝试在 C++ SFML 代码块中设置帧率时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43929417/

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