嗨,我正在学习 c++,所以我不确定这是否是我的愚蠢错误。我正在尝试使用 raylib 做一些简单的事情,我试图通过调用类中的方法来简单地清除背景。当我在课堂上尝试这样做时,窗口会可怕地闪烁,有时会冻结。但是当它在 main 内部被调用时,它运行得非常好并且表现得像预期的那样。我以前用很多其他语言编程过,我不太确定为什么它的行为会有所不同。
这是代码:
main.cpp:
#include <iostream>
#include <string>
#include <array>
#include "Viewer.h"
#include <raylib.h>
using namespace std;
#define log(x) std::cout << x << std::endl
int main() {
int screenWidth = 800;
int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "test");
Viewer* viewer = new Viewer();
while (!WindowShouldClose()) {
BeginDrawing();
//ClearBackground(DARKGRAY);
//DrawText("Congrats!", 190, 200, 20, LIGHTGRAY);
//DrawLine
viewer->draw();
EndDrawing();
}
delete viewer;
CloseWindow();
//cin.get();
}
查看器.cpp
#include <raylib.h>
class Viewer {
public:
void draw() {
ClearBackground(DARKGRAY);
}
};
查看器.h
#pragma once
class Viewer {
public:
void draw(){}
};
额外信息,我正在使用 Visual Studio 2019 和 vckpg 来管理库。