현재 Qt와 함께 C++로 된 학교용 게임/시뮬레이션을 개발 중입니다. Java에 대한 배경 지식이 있습니다. 제 질문은 800/600 창에서 Qt로 기본 gameloop을 설정하는 방법입니다. paintEvent를 재정의 (override) 해 GraphicsView 윈도우에 드로잉을 시도했지만, 그러한 루프를 설정할 수 없었습니다. 오버라이드 (override)하는 실수가있었습니다.C++/Qt에서 30fps 루프를 설정하는 방법
#include "mainwindow.h"
#include <QGraphicsView>
#include "graphicsview.h"
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
{
resize(800, 600);
setWindowTitle("A* Pathfinder");
gView = new GraphicsView(this);
setCentralWidget(gView);
}
MainWindow::~MainWindow()
{
}
GraphicsView 급 :
#include "graphicsView.h"
void GraphicsView::paintEvent(QPaintEvent *event) {
QPainter painter(this);
painter.drawLine(10,10, 100,100);
}
graphicsView.h :
#ifndef GRAPHICSVIEW_H
#define GRAPHICSVIEW_H
#endif // GRAPHICSVIEW_H
#include <QGraphicsView>
class GraphicsView : public QGraphicsView
{
protected:
void paintEvent(QPaintEvent *event);
};
죄송 유사한 질문은 이미 질문있어하지만 난 정말 붙어 오전 내 특정에 대한 도움말을 찾을 수없는 경우 케이스. 다시 말하지만, 30fps로 그래픽을 그릴 수있는 800x600 창을 원합니다.
게임 루프 타이밍 : http://gafferongames.com/game-physics/fix-your-timestep/ –
코드를 일률적으로 형식화하고 특히 들었을 때 들여 쓰기가 일관되게 처리되도록 노력하십시오. 당신이 중요하다고 느끼지는 않을지 모르지만, 특히 익숙하지 않은 코드를 읽을 때는 분명히 그렇습니다. – dkasak
@dkasak sry 포맷팅과 들여 쓰기가 복사 될 때 다소 분실 됨 – thefox1009