38 lines
968 B
C++
38 lines
968 B
C++
//
|
|
// Created by m on 12/3/21.
|
|
//
|
|
|
|
#include "visualizer.hpp"
|
|
bool Visualizer::update(InputResult input) {
|
|
this->x += 1;
|
|
if(this->x > WIN_WIDTH || input.keycode == KEY_ESCAPE) {
|
|
this->x = 0;
|
|
return true;
|
|
}
|
|
if(input.keycode == KEY_RIGHT) {
|
|
this->sprite_index += 1;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
RendererParams Visualizer::get_renderer_params() {
|
|
return {TITLE, WIN_WIDTH, WIN_HEIGHT};
|
|
}
|
|
|
|
unsigned int Visualizer::get_framerate() {
|
|
return TARGET_FPS;
|
|
}
|
|
|
|
void Visualizer::render(Renderer *renderer) {
|
|
Color color = COLOR_WHITE;
|
|
SpriteSheet sheet = SpriteSheet{"sprites/character.bmp", 48, 48};
|
|
auto sprite = Sprite{&sheet, this->sprite_index};
|
|
RendererParams window_params = get_renderer_params();
|
|
renderer->draw_sprite(sprite, window_params.width/2, window_params.height/2);
|
|
for(int y=0;y<WIN_HEIGHT;y++) {
|
|
renderer->draw_point(this->x, y, color);
|
|
}
|
|
}
|
|
|
|
Visualizer::~Visualizer() = default;
|