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"
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
#include "Queue.h"
class Game {
GameQueue * eventQueue = new GameQueue;
public:
void draw(QPixmap * output);
};

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

@ -1,3 +1,24 @@
#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 "FileManager.h"
#include "InputWindow.h"
#include <QTimer>
#include "Game.h"
#include <QLabel>
class Window : public InputWindow {
Game game;
QLabel * label;
QTimer * timer;
public:
GameQueue * gameQueue;
Audio * AudioManager;
FileManager * fileManager;
explicit Window();
protected:
void paintEvent(QPaintEvent *) override;
void resizeEvent(QResizeEvent *) override;
};

@ -1,9 +1,5 @@
#include <QApplication>
#include <iostream>
#include "Queue.h"
#include "Audio.h"
#include "FileManager.h"
#include "Player.h"
#include "Window.h"
using std::cout, std::endl;
@ -28,18 +24,5 @@ int main(int argc, char * argv[]){
Window w;
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();
}
Loading…
Cancel
Save