本文整理汇总了C++中SoundSource::SetGain方法的典型用法代码示例。如果您正苦于以下问题:C++ SoundSource::SetGain方法的具体用法?C++ SoundSource::SetGain怎么用?C++ SoundSource::SetGain使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SoundSource
的用法示例。
在下文中一共展示了SoundSource::SetGain方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Start
void MasterControl::Start()
{
new InputMaster(context_, this);
cache_ = GetSubsystem<ResourceCache>();
graphics_ = GetSubsystem<Graphics>();
renderer_ = GetSubsystem<Renderer>();
CreateSineLookupTable();
// Get default style
defaultStyle_ = cache_->GetResource<XMLFile>("UI/DefaultStyle.xml");
//Create console and debug HUD.
CreateConsoleAndDebugHud();
//Create the scene content
CreateScene();
//Create the UI content
CreateUI();
//Hook up to the frame update and render post-update events
SubscribeToEvents();
Sound* music = cache_->GetResource<Sound>("Resources/Music/Alien Chaos - Disorder.ogg"); //Battle
music->SetLooped(true);
Node* musicNode = world.scene->CreateChild("Music");
SoundSource* musicSource = musicNode->CreateComponent<SoundSource>();
musicSource->SetGain(0.32f);
musicSource->SetSoundType(SOUND_MUSIC);
musicSource->Play(music);
}
示例2: HandlePlaySound
void SoundEffects::HandlePlaySound(StringHash eventType, VariantMap& eventData)
{
Button* button = static_cast<Button*>(GetEventSender());
const String& soundResourceName = button->GetVar(VAR_SOUNDRESOURCE).GetString();
// Get the sound resource
ResourceCache* cache = GetSubsystem<ResourceCache>();
Sound* sound = cache->GetResource<Sound>(soundResourceName);
if (sound)
{
// Create a scene node with a SoundSource component for playing the sound. The SoundSource component plays
// non-positional audio, so its 3D position in the scene does not matter. For positional sounds the
// SoundSource3D component would be used instead
Node* soundNode = scene_->CreateChild("Sound");
SoundSource* soundSource = soundNode->CreateComponent<SoundSource>();
soundSource->Play(sound);
// In case we also play music, set the sound volume below maximum so that we don't clip the output
soundSource->SetGain(0.75f);
// Subscribe to the "sound finished" event generated by the SoundSource for removing the node once the sound has played
// Note: the event is sent through the Node (similar to e.g. node physics collision and animation trigger events)
// to not require subscribing to the particular component
SubscribeToEvent(soundNode, E_SOUNDFINISHED, URHO3D_HANDLER(SoundEffects, HandleSoundFinished));
}
}
示例3: Init
void Bullet::Init(bool isPlayer, Vector2 spawnPosition)
{
ResourceCache* cache = GetSubsystem<ResourceCache>();
Graphics* graphics = GetSubsystem<Graphics>();
halfHeight_ = graphics->GetHeight() * PIXEL_SIZE * 0.5f;
isPlayer_ = isPlayer;
Sound* laserSound = cache->GetResource<Sound>(isPlayer_ ? "Sounds/laser01.wav" : "Sounds/laser02.wav");
StaticSprite2D* sprite2D = node_->CreateComponent<StaticSprite2D>();
if (isPlayer_)
sprite2D->SetSprite( cache->GetResource<Sprite2D>("Sprites/blue_beam.png"));
else
sprite2D->SetSprite(cache->GetResource<Sprite2D>("Sprites/green_beam.png"));
sprite2D->SetBlendMode(BLEND_ADDALPHA);
SoundSource* soundSource = node_->CreateComponent<SoundSource>();
soundSource->SetSoundType(SOUND_EFFECT);
soundSource->SetGain(0.75f);
soundSource->Play(laserSound);
node_->SetPosition2D(spawnPosition);
if (!isPlayer)
{
node_->Roll(180.0f);
}
}
示例4: HandlePlaySound
void SoundEffects::HandlePlaySound(StringHash eventType, VariantMap& eventData)
{
Button* button = static_cast<Button*>(GetEventSender());
const String& soundResourceName = button->GetVar(VAR_SOUNDRESOURCE).GetString();
// Get the sound resource
ResourceCache* cache = GetSubsystem<ResourceCache>();
Sound* sound = cache->GetResource<Sound>(soundResourceName);
if (sound)
{
// Create a scene node with a SoundSource component for playing the sound. The SoundSource component plays
// non-positional audio, so its 3D position in the scene does not matter. For positional sounds the
// SoundSource3D component would be used instead
Node* soundNode = scene_->CreateChild("Sound");
SoundSource* soundSource = soundNode->CreateComponent<SoundSource>();
soundSource->Play(sound);
// In case we also play music, set the sound volume below maximum so that we don't clip the output
soundSource->SetGain(0.75f);
// Set the sound component to automatically remove its scene node from the scene when the sound is done playing
soundSource->SetAutoRemove(true);
}
}