Exploring raycasters and possibly make a little "doom like" game based on it.
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
#pragma once
|
|
|
|
#include <SFML/Graphics/Sprite.hpp>
|
|
|
|
#include <SFML/Audio.hpp>
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
struct Animator {
|
|
|
|
int width = 0;
|
|
|
|
int height = 0;
|
|
|
|
int max_frames = 0;
|
|
|
|
sf::SoundBuffer buffer;
|
|
|
|
sf::Sound sound;
|
|
|
|
size_t count = 0;
|
|
|
|
int frame = 0;
|
|
|
|
bool playing = false;
|
|
|
|
|
|
|
|
Animator(int w, int h, int max, std::string sound_file) :
|
|
|
|
width(w), height(h), max_frames(max),
|
|
|
|
buffer(sound_file),
|
|
|
|
sound(buffer)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
void step(sf::Sprite& sprite, int rect_x, int rect_y, int rect_w, int rect_h);
|
|
|
|
|
|
|
|
void play();
|
|
|
|
};
|