SFML и C++ Уроки \ Разработка игр › Форумы › SFML Graphics › Мелькают спрайты врага › Ответ в теме: Мелькают спрайты врага
C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
#ifndef ENTITY_H #define ENTITY_H #include <SFML/Graphics.hpp> #include "Level.h" #include "Animation.h" using namespace sf; //Класс сущность //Содержит информацию об объкте окружающего мира //Основа для классов персонажа, врагов, любых других движущихся объектов class Entity { public: //Характеристики сущности: //положение, размеры, мгновенная скорость float x, y, w, h, vX, vY; //Имя сущности String name; //Анимация, которую использует сущность AnimationManager anim; //Характеристика направления движения сущности //и параметр существования сущности bool life, direction; //Количество очков здоровья сущности int Health; //timer - переменные для временной анимации сущности //timer_end - переменная для временного отображения сущности float timer, timer_end; //Набор объектов, с которыми может взаимодействовать данная сущность std::vector<Object> obj; public: //Инициализация сущности по анимации и позиции Entity(AnimationManager &_anim, int _x, int _y); //Деструктор ~Entity(); //Установка параметров сущности: //имя, начальная скорость, очки здоровья, начальная анимация void setUp(String _name, float speed = 0, int _Health = 10, String Start_anim = ""); //Нарисовать сущность на окне void draw(RenderWindow &window); //Получить каркас сущности FloatRect getRect(); //Обновить состояние сущности (поведение сущности) //Поведение каждого потомка должно быть реализовано отдельно virtual void update(float time) = 0; }; #endif ENTITY_H |