我在做与SFML一个游戏项目,我遇到了一个小问题,键盘在SFML
这里是我的代码:这里的代码
#include <SFML/Graphics.hpp>
#include <string>
#include <iostream>
using namespace std;
using namespace sf;
int main() {
sf::RenderWindow Window;
Window.create(sf::VideoMode(490, 485), "My First Sfml Game");
sf::Texture pTexture1;
sf::Sprite playerImage;
if (!pTexture1.loadFromFile("Data/dots.png"))
std::cout << "error could not load player image" << std::endl;
playerImage.setTexture(pTexture1);
sf::Texture pTexture2;
sf::Sprite lineImage;
if (!pTexture2.loadFromFile("Data/line.png"))
std::cout << "error could not load player image" << std::endl;
lineImage.setTexture(pTexture2);
int v;
while (Window.isOpen()) {
sf::Event event;
while (Window.pollEvent(event)) {
switch (event.type) {
case sf::Event::Closed:
Window.close();
break;
case Event::KeyPressed:
if (event.key.code == Keyboard::Right)
lineImage.move(5, 0);
else if (event.key.code == Keyboard::Left)
lineImage.move(-5, 0);
else if (event.key.code == Keyboard::Up)
lineImage.move(0, -5);
else if (event.key.code == Keyboard::Down)
lineImage.move(0, 5);
else if (event.key.code == Keyboard::Space)
lineImage.setRotation(90);
break;
case Event::KeyReleased:
if (event.key.code == Keyboard::Right)
lineImage.move(0, 0);
else if (event.key.code == Keyboard::Left)
lineImage.move(-0, 0);
else if (event.key.code == Keyboard::Up)
lineImage.move(0, -0);
else if (event.key.code == Keyboard::Down)
lineImage.move(0, 0);
else if (event.key.code == Keyboard::Space)
lineImage.setRotation(90);
break;
}
if (event.type == Event::KeyReleased && event.key.code == Keyboard::Space)
lineImage.setRotation(180);
}
Window.draw(playerImage);
Window.draw(lineImage);
Window.display();
}
return 0;
}
图片:postimg.org/gallery/ 71ufmoi/da508bc3/
问题是我需要旋转lineImage
当我点击空格键,但是当我点击空格时,它旋转90度,然后再次回到90度!我需要使它稳定,当我点击空格键它旋转90,然后当我再次点击空间它旋转90到原来的!我的另一个问题是我在做点游戏,所以我怎样才能让线的逻辑,所以我可以让它在两点之间,当我按Enter键?
非常感谢它的工作原理:d 和关于第二概率 我在做Dots游戏,所以我想用lineSprite连接两个点,当用户点击输入时,第二个用户会直到它形成一个正方形,那就是问题我可以用什么来做到这一点!?因为我是SFML新手! 再次感谢您的帮助^^ – 2013-05-04 10:47:23
好的,明白了。看到我编辑的答案。 – Hiura 2013-05-05 19:14:59
所以我的方式是不够的!? ,我认为它比顶点数组更简单:D,srry但是如果你能更清楚地说明一下,我将不胜感激^^ – 2013-05-06 01:30:51