2017-12-16 41 views
0

グラフィックワークのためにsfmlライブラリを使用していますが、キーボードで入力したテキストを保存しますが、エラーが表示されます どうすればいいか教えてください:SFMLでテキストを保存することができません2.4

#include <SFML/Graphics.hpp> 
#include <iostream> 
#include <string> 
using namespace std; 
int main() 
{ 
    string s=""; 
    sf::Window window(sf::VideoMode(800, 200), "Ludo",sf::Style::Default); 
    window.setKeyRepeatEnabled(false); 
    while (window.isOpen()) 
    { 
     sf::Event event; 
      while (window.pollEvent(event)) 
      { 
       if (event.type == sf::Event::Closed) 
       { 
        window.close(); 
       } 
       else if (event.type == sf::Event::EventType::TextEntered) 
       { 
        s += event.type.unicode; 
       } 
      } 
      window.display(); 
    } 
    return 0; 
} 

エラーは次のとおりです。

SF ::イベントイベント、式はクラス型

答えて

1

を持っている必要がありますあなたの問題は、この行です:

s += event.type.unicode; 

event.type(上記のチェックの場合には、それを使用しました)イベントの種類を記述するフィールドです。

unicodeにアクセスしていますが、これは明らかに失敗します。typeは、クラスまたは構造体ではないためです。あなたが実際に望むのは、構造体であるフィールドsf::Event::textです。

そのため、この行は次のようになりなければならないでしょう:

s += event.text.unicode; 
+0

は、今私は、文字列に格納し何をすべきでしょうか? –

+0

@ALIHAMZABASHIRあなたが行う方法は、トリックを行う必要がありますが、追加する文字列オブジェクトを手動で構築する必要があります。 – Mario

関連する問題