点击一次从头播放,第二次暂停,第三次从头播放,第四次暂停,依次循环
时间: 2024-10-21 09:13:04 浏览: 14
为了实现这个功能,我们需要对上面提供的脚本做一些小的调整。我们可以引入一个整数变量来跟踪当前的播放状态,当状态变化时,播放或暂停音乐。下面是更新后的脚本:
```csharp
using UnityEngine;
using UnityEngine.UI;
public class PlayPauseMusic : MonoBehaviour
{
public AudioSource audioSource; // 音频源组件
public Toggle pauseToggle; // 使用Toggle作为播放/暂停控制
private int playState = 0; // 初始状态为非播放(0)
void Update()
{
if (pauseToggle.isToggleFlipped)
{
switch (playState)
{
case 0: // 第一次点击:播放
audioSource.Play();
playState = 1;
break;
case 1: // 第二次点击:暂停
audioSource.Pause();
playState = 0;
break;
default: // 后续点击:回到第一次播放状态
audioSource.UnPause(); // 已经暂停则恢复播放
playState = 1;
break;
}
}
}
}
在这个版本中,我们使用了一个Toggle控件来替代原始的单次触发按钮。Toggle的`isToggleFlipped`属性会在切换时变为真。脚本中通过switch-case结构来控制播放、暂停和恢复播放的状态。当你点击Toggle时,脚本会根据当前的状态进行相应操作。
阅读全文