1

SFML を使用していくつかのプロジェクトを作成しています。公式サイトからライブラリをダウンロードし、cmake を使用して VS10 プロジェクトを作成し、コンパイルして、必要なすべてのライブラリとファイルを取得しました。ただし、私のプロジェクトでは、次のような意味のないエラーが発生し続けます

クラス "sf::SoundBuffer" にはメンバ "LoadFromFile" がありません

クラス "sf::Sound" にはメンバ "SetBuffer" がありません

私はSoundBufferヘッダーをチェックインしましたが、LoadFromFileという名前の関数があり、SoundにはSetBufferという関数があります。

  SoundM::SoundM(void) 
  {
     buffer.LoadFromFile("ress/soundA.wav");
     collision.SetBuffer(buffer);
  }



   #ifndef SOUND_H
   #define SOUND_H

    enum Sounds {
PaddleCollision,
Losing
    };

     class SoundM {
     public:
SoundM(void);
void play(Sounds Sound);
    private:
sf::SoundBuffer buffer;
sf::Sound collision;
    };

    #endif 

ここで何が欠けていますか?

4

1 に答える 1

2

SFML バージョン 2.0 RC を使用していると仮定します。命名規則が変更され、すべての関数名が小文字 (キャメル ケース) で始まるようになりました。

だからあなたはそれを試してみるべきです。

buffer.loadFromFile("ress/soundA.wav");
collision.setBuffer(buffer);

その代わりに。

buffer.LoadFromFile("ress/soundA.wav");
collision.SetBuffer(buffer);

お役に立てば幸いです。

于 2012-11-19T19:23:48.790 に答える