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 回答