2012-09-06 71 views
0

我有一個名爲'Player'的類,在那裏我處理運動,水平ups等遊戲,我嘗試創建。在主源文件的主循環中,我有鍵盤事件(左/右)。我希望動作能夠知道你的角色何時冒險經過允許的位置。爲了回答這個問題,我放了兩個if語句。C++/SFML定位精靈問題

我只是有問題這個if語句:

else if (sf::Keyboard::IsKeyPressed(sf::Keyboard::Right)) { 
      if (Player.getX() > 1279) { 
       Player.move(640,0); 
      } 
      Player.move(0.1,0); 
     } 

沒有編制的問題。唯一的問題是,與其他if語句不同,這個不會將精靈返回到想要的位置。如果我將if語句降低到1000,精靈將從屏幕上消失。

任何幫助表示讚賞。

回答

2
Player.move(640,0); 

您在X軸上移動您的播放器640像素。這意味着當玩家到達x > 1279時,即在您的世界的右端,您將玩家進一步向右移動。所以它消失了。

您可能想在這裏使用而不是move,或者根本不要移動播放器等等......