当前位置: 首页>>代码示例>>C#>>正文


C# MyEntity3DSoundEmitter.StopSound方法代码示例

本文整理汇总了C#中Sandbox.Game.Entities.MyEntity3DSoundEmitter.StopSound方法的典型用法代码示例。如果您正苦于以下问题:C# MyEntity3DSoundEmitter.StopSound方法的具体用法?C# MyEntity3DSoundEmitter.StopSound怎么用?C# MyEntity3DSoundEmitter.StopSound使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Sandbox.Game.Entities.MyEntity3DSoundEmitter的用法示例。


在下文中一共展示了MyEntity3DSoundEmitter.StopSound方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: StartShootSound

 internal void StartShootSound(MyEntity3DSoundEmitter soundEmitter)
 {
     if (ShootSound != null)
     {
         if (soundEmitter.IsPlaying && !soundEmitter.Loop)
             soundEmitter.StopSound(true);
         soundEmitter.PlaySound(ShootSound, true);
     }
 }
开发者ID:fluxit,项目名称:SpaceEngineers,代码行数:9,代码来源:MyGunBase.cs

示例2: StartNoAmmoSound

 internal void StartNoAmmoSound(MyEntity3DSoundEmitter soundEmitter)
 {
     if (NoAmmoSound != null)
     {
         soundEmitter.StopSound(true);
         soundEmitter.PlaySingleSound(NoAmmoSound, true);
     }
 }
开发者ID:fluxit,项目名称:SpaceEngineers,代码行数:8,代码来源:MyGunBase.cs

示例3: IKFeetStepSounds

        private void IKFeetStepSounds(MyEntity3DSoundEmitter walkEmitter, MySoundPair cueEnum)
        {
            var movementState = m_character.GetCurrentMovementState();

			if (movementState.GetMode() == MyCharacterMovement.Flying)
				return;

            if (movementState.GetSpeed() != m_lastUpdateMovementState.GetSpeed())
            {
                walkEmitter.StopSound(true);
                m_lastStepTime = 0;
            }

			int usedMinimumDelay = int.MaxValue;
			if (movementState.GetDirection() != MyCharacterMovement.NoDirection)
			{
			    switch (movementState.GetSpeed())
			    {
			        case MyCharacterMovement.NormalSpeed:
			            usedMinimumDelay = m_stepMinimumDelayWalk;
			            break;
			        case MyCharacterMovement.Fast:
			            usedMinimumDelay = m_stepMinimumDelayRun;
			            break;
			        case MyCharacterMovement.VeryFast:
			            usedMinimumDelay = m_stepMinimumDelaySprint;
			            break;
			    }
			}

            bool minimumDelayExceeded = false;
			minimumDelayExceeded = (MySandboxGame.TotalGamePlayTimeInMilliseconds - m_lastStepTime) >= usedMinimumDelay;
            //MyRenderProxy.DebugDrawAABB(m_character.PositionComp.WorldAABB, Color.White);

			if (minimumDelayExceeded)
            {
                int leftAnkleBoneIndex, rightAnkleBoneIndex;
                MyCharacterBone leftAnkleBone = m_character.AnimationController != null 
                    ? m_character.AnimationController.FindBone(m_character.Definition.LeftAnkleBoneName, out leftAnkleBoneIndex) 
                    : null;
                MyCharacterBone rightAnkleBone = m_character.AnimationController != null 
                    ? m_character.AnimationController.FindBone(m_character.Definition.RightAnkleBoneName, out rightAnkleBoneIndex)
                    : null;
                Vector3 posLeftFoot = leftAnkleBone != null
                    ? leftAnkleBone.AbsoluteTransform.Translation
                    : m_character.PositionComp.LocalAABB.Center;
                Vector3 posRightFoot = rightAnkleBone != null 
                    ? rightAnkleBone.AbsoluteTransform.Translation 
                    : m_character.PositionComp.LocalAABB.Center;
                float ankleHeight;
                MyFeetIKSettings settingsIK;
                if (m_character.Definition.FeetIKSettings != null
                    && m_character.Definition.FeetIKSettings.TryGetValue(MyCharacterMovementEnum.Standing, out settingsIK))
                {
                    ankleHeight = settingsIK.FootSize.Y;
                }
                else
                {
                    ankleHeight = DEFAULT_ANKLE_HEIGHT;
                }
                float charSpeed = 0f;
                if (m_character.AnimationController != null)
                    m_character.AnimationController.Variables.GetValue(MyAnimationVariableStorageHints.StrIdSpeed, out charSpeed);
                if (posLeftFoot.Y - ankleHeight < m_character.PositionComp.LocalAABB.Min.Y
                    || posRightFoot.Y - ankleHeight < m_character.PositionComp.LocalAABB.Min.Y)
                {
                    if(charSpeed > 0.05f)
                        walkEmitter.PlaySound(cueEnum);
                    m_lastStepTime = MySandboxGame.TotalGamePlayTimeInMilliseconds;
                }
            }

			m_lastUpdateMovementState = movementState;
        }
开发者ID:rem02,项目名称:SpaceEngineers,代码行数:74,代码来源:MyCharacterSoundComponent.cs


注:本文中的Sandbox.Game.Entities.MyEntity3DSoundEmitter.StopSound方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。