本文整理汇总了C#中ISound.Play方法的典型用法代码示例。如果您正苦于以下问题:C# ISound.Play方法的具体用法?C# ISound.Play怎么用?C# ISound.Play使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISound
的用法示例。
在下文中一共展示了ISound.Play方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: UpdateAudio
void UpdateAudio()
{
UpdateListener();
if (IsJumping)
{
if (jumpSound == null)
{
var emitter = new AudioEmitter();
UpdateActorEmitter(emitter);
var key = new ActionSoundKey("Jump", null);
string soundName;
if (Character.ActionSounds.TryGetValue(key, out soundName))
{
jumpSound = Scene.CharacterAudioManager.CreateSound(soundName, emitter);
jumpSound.Play();
}
}
else if (jumpSound.IsPlaying)
{
UpdateActorEmitter(jumpSound.Emitter);
}
}
else
{
if (jumpSound != null)
{
if (jumpSound.IsDisposed)
{
jumpSound = null;
}
else if (jumpSound.IsPlaying)
{
UpdateActorEmitter(jumpSound.Emitter);
}
}
}
if (footstepSound != null)
{
if (footstepSound.IsDisposed)
{
footstepSound = null;
//footstepStartPartIndex = 0;
}
else if (footstepSound.IsPlaying)
{
UpdateActorEmitter(footstepSound.Emitter);
}
}
// 重力方向に対して衝突があるかどうかを判定します。
Vector3 gravity;
Character.RigidBody.GetGravity(out gravity);
bool isStanding = Character.CollisionBounds.IsCollidedForDirection(ref gravity);
if (isStanding)
{
Vector3 velocity;
Character.RigidBody.GetVeclocity(out velocity);
velocity.Y = 0;
if (0 < velocity.LengthSquared())
{
if (footstepSound == null)
{
var model = Character.ActorModel as CubeAnimateCharacterActorModel;
var currentPartIndex = model.CurrentPartIndex;
if (footstepStartPartIndex != currentPartIndex)
{
var emitter = new AudioEmitter();
UpdateActorEmitter(emitter);
var key = new ActionSoundKey("Footstep", null);
string soundName;
if (Character.ActionSounds.TryGetValue(key, out soundName))
{
footstepSound = Scene.CharacterAudioManager.CreateSound(soundName, emitter);
footstepSound.Play();
footstepStartPartIndex = currentPartIndex;
}
}
}
}
}
}