我在做與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