本文整理汇总了C#中Microsoft.Xna.Framework.Audio.SoundEffectInstance.Dispose方法的典型用法代码示例。如果您正苦于以下问题:C# SoundEffectInstance.Dispose方法的具体用法?C# SoundEffectInstance.Dispose怎么用?C# SoundEffectInstance.Dispose使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Xna.Framework.Audio.SoundEffectInstance
的用法示例。
在下文中一共展示了SoundEffectInstance.Dispose方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Play
public static void Play(ref SoundEffectInstance _playInstance, string sound)
{
if (_playInstance == null)
{
_playInstance = AudioManager.SoundEffects[sound].CreateInstance();
_playInstance.Play();
}
else if (_playInstance != null)
{
if (_playInstance.State == SoundState.Stopped)
{
_playInstance.Dispose();
_playInstance = null;
}
}
}
示例2: StopMusic
public static void StopMusic(SoundEffectInstance instance)
{
if(instance != null)
{
instance.Stop();
instance.Dispose();
}
}
示例3: PlaySound
private void PlaySound(SoundEffect soundEffect, SoundEffectInstance soundEffectInstance, float volume = 1.0F)
{
if (soundEffectInstance != null &&
!soundEffectInstance.IsDisposed)
{
soundEffectInstance.Dispose();
}
soundEffectInstance = soundEffect.CreateInstance();
soundEffectInstance.Play();
}
示例4: StopSfx
public static void StopSfx(SoundEffectInstance soundCue)
{
soundCue.Stop(true);
soundCue.Dispose();
}
示例5: LoadContent
/// <summary>
/// LoadContent will be called once per game and is the place to load
/// all of your content.
/// </summary>
protected override void LoadContent()
{
// Create a new SpriteBatch, which can be used to draw textures.
spriteBatch = new SpriteBatch(GraphicsDevice);
// load texture and contents
messageFont = this.Content.Load<SpriteFont>(MessageFontContentName);
scoreFont = this.Content.Load<SpriteFont>(ScoreFontContentName);
laserTexture = this.Content.Load<Texture2D>(LaserContentName);
spaceshipTexture = this.Content.Load<Texture2D>(SpaceshipContentName);
enemy4Texture = this.Content.Load<Texture2D>(Enemy4ContentName);
explosionTexture = this.Content.Load<Texture2D>(ExplosionsContentName);
backgroundTexture = this.Content.Load<Texture2D>(BackgroundContentName);
starTexture = this.Content.Load<Texture2D>(ParallaxStarContentName);
//bgmEffect = this.Content.Load<SoundEffect>(BgmContentName);
bgmEffect = this.Content.Load<SoundEffect>(this.settings.BgmSoundEffect);
explosionSoundEffect = this.Content.Load<SoundEffect>(ExplosionSoundContentName);
explosionSound = explosionSoundEffect.CreateInstance();
explosionSound.Volume = 1.0F;
laserSoundEffect = this.Content.Load<SoundEffect>(LaserSoundContentName);
laserSound = laserSoundEffect.CreateInstance();
laserSound.Volume = 1.0F;
// create sprites
spaceshipSprite = new SpaceshipSprite(spaceshipTexture);
backgroundSprite = new BackgroundSprite(backgroundTexture, graphics);
// create sprite generators
enemyGenerator =
new SpriteGenerator<EnemySprite>(
() =>
new EnemySprite(enemy4Texture,
new Vector2(Utils.GetRandomNumber(1, GraphicsDevice.Viewport.Width - enemy4Texture.Width), 1),
Utils.GetRandomNumber(5, 10)), enemyPool, TimeSpan.FromMilliseconds(1000.0F/settings.NumOfEnemiesPerSecond));
starGenerator =
new SpriteGenerator<ParallaxStarSprite>(() => new ParallaxStarSprite(starTexture, new Vector2(
Utils.GetRandomNumber(1,
GraphicsDevice.Viewport.Width - starTexture.Width), 1), Utils.GetRandomNumber(5, 20)), starPool,
TimeSpan.FromMilliseconds(100));
gameOverScene = new GameOverScene(this, () => !spaceshipSprite.IsActive, () =>
{
this.enemyPool.Clear();
this.laserPool.Clear();
this.explosionPool.Clear();
this.enemyGenerator.IsActive = false;
if (explosionSound != null && !explosionSound.IsDisposed)
{
explosionSound.Stop(true);
explosionSound.Dispose();
}
if (laserSound != null && !laserSound.IsDisposed)
{
laserSound.Stop(true);
laserSound.Dispose();
}
bgmEffect.Dispose();
}) {IsActive = !settings.LiveForever};
var bgm = bgmEffect.CreateInstance();
bgm.IsLooped = true;
bgm.Play();
}