SFML и C++ Уроки \ Разработка игр › Форумы › SFML Graphics › как заставить монетку крутиться
В этой теме 4 ответа, 2 участника, последнее обновление Serob 6 года/лет, 10 мес. назад.
-
АвторСообщения
-
Добрый день.
Большое спасибо KindRedSand за помощь и подсказки.
еще вопросик как заставить крутиться монетку, как в игре марио? то есть сделать анимацию без движения объекта. есть у меня конструктор анимации
C++123456789101112131415161718192021222324252627282930313233class AnimationManager{public:std::string currentAnim;std::map<std::string, Animation> animList;AnimationManager(){}~AnimationManager(){animList.clear();}//создание анимации вручнуюvoid create(std::string name, Texture &texture, int x, int y, int w, int h, int count, float speed, int step = 0, bool Loop = true){Animation a;a.speed = speed;a.loop = Loop;a.sprite.setTexture(texture);a.sprite.setOrigin(0, h);for (int i = 0; i < count; i++){a.frames.push_back(IntRect(x + i*step , y, w, h));a.frames_flip.push_back(IntRect(x + i*step + w , y, -w, h));}animList[name] = a;currentAnim = name;}но он работает если меняются координаты х или у то есть движение. вводить новую переменную типа тик времени? или писать анимацию специально для одного объекта?
Глянь в соседнюю тему с OriginPoint в реализацию AnimatedSprite::update(sf::Time frameTime) и Animation::update(sf::frameTime)
спасибо за помощь.
можно еще вопрос, как можно упростить (уменьшить количество кода)
есть у меня объект “платформа” в игре у неё есть несколько логик движения влево, вправо, верх, вниз, по диагонали влево вверх, по диагонали вправо вверх и тоже самое но в обратном направлении (что бы в некоторых местах платформы могли двигаться друг навстречу другу). платформа загружается через тайл мап, поэтому у всех “платформ” разное имя. сейчас у меня получилось 12 классов платформ (то есть описывающих разную логику движения). можно сделать один класс платформ, а в тайл мапе или другим способом указывать какую логику движения использует платформа именно в в том месте где она находиться? а то скоро буду делать монстров, а там их ещё больше разновидностей.
надеюсь понятно спросил
Дк Tiled предоставляет возможность выставялть дополнительныйе параметры к объектам. Через TinyXML как либо сделай считывание этих параметров либо найди в интернете TMX Parser для SFML
спасибо за подсказку
pugixml is a light-weight C++ XML processing library
нашёл ссылку на библиотеку пусть будет в теме.
-
АвторСообщения
Для ответа в этой теме необходимо авторизоваться.