示例#1
0
Sound::Sound(const Sound& copy) :
SoundSource(copy),
myBuffer   (NULL)
{
    if (copy.myBuffer)
        SetBuffer(*copy.myBuffer);
    SetLoop(copy.GetLoop());
}
示例#2
0
////////////////////////////////////////////////////////////
/// Copy constructor
////////////////////////////////////////////////////////////
Sound::Sound(const Sound& Copy) :
AudioResource(Copy),
myBuffer(NULL)
{
    ALCheck(alGenSources(1, &mySource));

    if (Copy.myBuffer) {
        SetBuffer(*Copy.myBuffer);
    }
    SetLoop(Copy.GetLoop());
    SetPitch(Copy.GetPitch());
    SetVolume(Copy.GetVolume());
    SetPosition(Copy.GetPosition());
    SetRelativeToListener(Copy.IsRelativeToListener());
    SetMinDistance(Copy.GetMinDistance());
    SetAttenuation(Copy.GetAttenuation());

    Listener::AddSound(this);
}