结合 Animation 和AudioSource组件,使得 3D的实体 播放动画,并且 播放声音。
当含有AudioSource组件的物体的AudioSource组件的Avtive为false,则不播放。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CubeJump : MonoBehaviour {
/// <summary>
/// 播放声音 的音效 的AudioSource组件
/// </summary>
[SerializeField]
private AudioSource audioSource;
// Use this for initialization
void Start () {
if (audioSource == null)
{
audioSource = this.GetComponent<AudioSource>();
}//
}
/// <summary>
/// 播放动画并且播放声音
/// </summary>
private void Play3DSound()//私有或者公有,都可以
{
if (audioSource != null)
{
audioSource.Play();
}//
}//
}
如果插上耳机,音频文件是可以正常播放的,那么 随着 场景的 播放,当方块开始向上跳动 的时候,就会 播放一次音频。
注意:
1.CubeJump实体的AudioSource组件的Loop不勾选,则音频播放一次,如果Loop勾选,则循环播放。
2.Play3DSound函数是CubeJump.cs文件的内容,而AnimationEvent选择调用 Play3DSound函数,是因为 CubeJump组件和Animator组件挂载在同一个 实体 上面,如果分别在不同的实体上,那么AnimationEvent就无法选择Play3DSound函数。
3.