2016-08-30 10 views
0

私は約1か月の回答を探しています。だから、何が起こっているのか把握できません。私はスプライトとテクスチャを持っているGameObjectクラスを持っていますが、function - > getSprite()を呼び出してウィンドウに描画すると、白いボックスしか表示されません。私はコードを3回再入力して、何度も同じ問題を抱えています。誰かが私を助けてくれたらとても幸せになれます。ここに私のファイルがあります。 filesC++ SFMLのテクスチャとスプライト(ホワイトボックス)

+0

PNGファイルの読み込みを追跡するためにいくつかのログを追加することから始めることができます。 – Morb

+0

そして、私はちょうどC++で始まったばかりです。 –

+0

私はそれを試みます。 –

答えて

0

私はかつて同じ問題を抱えていました。 テクスチャ(.png)の読み込みに苦労しましたが、ソース(文字列として)を与え、有効なsf :: Spriteを返すだけの関数を作ったのです。

//loads a graphic from a source 
static sf::Sprite loadSprite(std::string source){ 
    static sf::Texture t; 
    if (!t.loadFromFile(source)){ 
     std::cerr << "Error: File couldn't be loaded" << std::endl; 
    } 
    static sf::Sprite s; 
    s.setTexture(t); 
    return s; 
} 

GameObject.hでこの機能を使用できるようにしてください(他のファイルでも可能です)。 単にあなたのGameObject.hのパブリックメンバ関数の一つに

void setSprite(std::string source){ 
    sprite = loadSprite(source); //call that function 
} 

機能を追加し、それを使用するには、あなたはまた、コンストラクタから呼び出すことができますWICH。 試してみてください!幸運

+0

ありがとうございます。やってみます。 –

+0

あなたは私の英雄です –

+0

OMG。結局1か月後に –

関連する問題