SFML и C++ Уроки \ Разработка игр › Форумы › SFML Graphics › Помогите с управлением.
Помечено: control sfml animation
В этой теме 2 ответа, 1 участник, последнее обновление Lucky_Ace 8 года/лет назад.
Просмотр 3 сообщений - с 1 по 3 (из 3 всего)
-
АвторСообщения
-
Мне нужно, чтобы управление было, как у p.move (0.1, 0);
Чтобы он свободно двигался, а не как в змейке. Помогите пожалуйста.C++12345678910111213141516171819202122232425262728293031323334#include <SFML/Graphics.hpp>#include "player.cpp"using namespace sf;int main(){RenderWindow window(VideoMode(1280, 720), "Duels");Player p("player.png", 0, 0, 20, 28);float CurrentFrame = 0;Clock clock;while (window.isOpen()){float time = clock.getElapsedTime().asMicroseconds();clock.restart();time = time / 800;Event event;while (window.pollEvent(event)){if (event.type == Event::Closed)window.close();}p.update(time);window.clear();window.draw(p.sprite);window.display();}return 0;}C++123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051#include <SFML/Graphics.hpp>using namespace sf;class Player{public: float x, y, w, h, dx, dy, speed;String File;Image image;Texture texture;Sprite sprite;enum { left, right, up, down, stay } state;Player(String F, int X, int Y, float W, float H){dx = 0; dy = 0;y = 0; x = 0;w = W; h = H;x = X; y = Y;File = F; speed = 0;image.loadFromFile("Images/" + File);texture.loadFromImage(image);sprite.setTexture(texture);sprite.setTextureRect(IntRect(0, 0, w, h));}void control(){if (Keyboard::isKeyPressed(Keyboard::Left)) { state = left; speed = 0.1; }if (Keyboard::isKeyPressed(Keyboard::Right)) { state = right; speed = 0.1; }if (Keyboard::isKeyPressed(Keyboard::Up)) { state = up; speed = 0.1; }if (Keyboard::isKeyPressed(Keyboard::Down)) { state = down; speed = 0.1; }}void update(float time){control();switch (state){case right: dx = speed; dy = 0; break;case left: dx = -speed; dy = 0; break;case down: dx = 0; dy = speed; break;case up: dx = 0; dy = -speed; break;}x += dx*time;y += dy*time;speed = 0;sprite.setPosition(x, y);}};Простите, решение уже не нужно. Я сам додумался, как это сделать. Но вы можете мне помочь с анимацией. Как мне сделать анимацию в зависимости от состояния?
Ещё раз помогите! Как мне сделать так: ЕСЛИ КНОПКА НЕ НАЖАТА, ТО… КАК МНЕ ЭТО НАПИСАТЬ?
-
АвторСообщения
Просмотр 3 сообщений - с 1 по 3 (из 3 всего)
Для ответа в этой теме необходимо авторизоваться.