73 lines
2.0 KiB
C#
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
|
|
}
|
|
}
|
|
}
|