MIF_E31222344/Malukuu/Assets/Script/ChangeSound.cs

73 lines
2.0 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ChangeSound : MonoBehaviour
{
public Sprite soundOnImage;
public Sprite soundOffImage;
public Button button;
private bool isOn = false;
public List<AudioClip> audioClips; // Daftar audio yang berbeda
private AudioSource audioSource;
private int currentClipIndex = 0; // Indeks audio saat ini
void Start()
{
button.image.sprite = soundOffImage;
isOn = false;
audioSource = GetComponent<AudioSource>();
audioSource.clip = audioClips[currentClipIndex];
audioSource.mute = true;
audioSource.loop = false;
audioSource.playOnAwake = false;
audioSource.clip = audioClips[currentClipIndex];
audioSource.Play();
audioSource.loop = false;
audioSource.Play();
audioSource.clip = audioClips[currentClipIndex];
audioSource.loop = false;
audioSource.Play();
audioSource.clip = audioClips[currentClipIndex];
audioSource.loop = false;
audioSource.Play();
}
public void ButtonClicked()
{
if (isOn)
{
button.image.sprite = soundOffImage;
isOn = false;
audioSource.mute = true;
}
else
{
button.image.sprite = soundOnImage;
isOn = true;
audioSource.mute = false;
PlayNextClip();
}
}
private void PlayNextClip()
{
currentClipIndex = (currentClipIndex + 1) % audioClips.Count; // Mengatur indeks ke audio berikutnya dalam daftar
audioSource.clip = audioClips[currentClipIndex];
audioSource.Play();
}
void Update()
{
if (!audioSource.isPlaying && currentClipIndex == audioClips.Count - 1)
{
button.image.sprite = soundOffImage; // Mengubah gambar tombol kembali ke sprite soundOffImage jika semua audio selesai diputar
}
}
}