started drawing

main
Benjamin Kraft 2 years ago
parent c8fa34634c
commit 2423ca3663
  1. 7
      src/Game.cpp
  2. 5
      src/Game.h
  3. 2
      src/InputWindow.h
  4. 21
      src/Window.cpp
  5. 14
      src/Window.h
  6. 17
      src/main.cpp

@ -1,2 +1,9 @@
#include <QPainter>
#include "Game.h" #include "Game.h"
void Game::draw(QPixmap *output) {
QPainter p(output);
double w = output->size().width();
double h = output->size().height();
p.fillRect(w / 2 - 10, h / 2 - 10, 20, 20, Qt::red);
}

@ -1,5 +1,10 @@
#pragma once #pragma once
#include "Queue.h"
class Game { class Game {
GameQueue * eventQueue = new GameQueue;
public:
void draw(QPixmap * output);
}; };

@ -5,7 +5,7 @@
class InputWindow : public QWidget { class InputWindow : public QWidget {
public: public:
InputQueue * inputQueue; InputQueue * inputQueue = new InputQueue;
protected: protected:
void mousePressEvent(QMouseEvent * event) override; void mousePressEvent(QMouseEvent * event) override;
void mouseReleaseEvent(QMouseEvent * event) override; void mouseReleaseEvent(QMouseEvent * event) override;

@ -1,3 +1,24 @@
#include "Window.h" #include "Window.h"
Window::Window() {
timer = new QTimer(this);
timer->setInterval(17);
connect(timer, &QTimer::timeout, this, [this](){
update();
});
timer->start();
label = new QLabel(this);
label->resize(size());
}
void Window::paintEvent(QPaintEvent *) {
auto output = new QPixmap(label->size());
game.draw(output);
label->setPixmap(*output);
}
void Window::resizeEvent(QResizeEvent *e) {
label->resize(e->size());
}

@ -4,11 +4,17 @@
#include "Audio.h" #include "Audio.h"
#include "FileManager.h" #include "FileManager.h"
#include "InputWindow.h" #include "InputWindow.h"
#include <QTimer>
#include "Game.h"
#include <QLabel>
class Window : public InputWindow { class Window : public InputWindow {
Game game;
QLabel * label;
QTimer * timer;
public: public:
GameQueue * gameQueue; explicit Window();
Audio * AudioManager; protected:
FileManager * fileManager; void paintEvent(QPaintEvent *) override;
void resizeEvent(QResizeEvent *) override;
}; };

@ -1,9 +1,5 @@
#include <QApplication> #include <QApplication>
#include <iostream> #include <iostream>
#include "Queue.h"
#include "Audio.h"
#include "FileManager.h"
#include "Player.h"
#include "Window.h" #include "Window.h"
using std::cout, std::endl; using std::cout, std::endl;
@ -28,18 +24,5 @@ int main(int argc, char * argv[]){
Window w; Window w;
w.show(); w.show();
w.inputQueue = new InputQueue;
w.gameQueue = new GameQueue;
w.AudioManager = new Audio;
w.fileManager = new FileManager;
auto player = new Player;
w.inputQueue->registerListener(player);
w.gameQueue->registerListener(player);
w.gameQueue->submitEvent(new CoinCollectEvent);
w.gameQueue->submitEvent(new DamageEvent);
return QApplication::exec(); return QApplication::exec();
} }
Loading…
Cancel
Save