я пытался сделать так чтобы музыка сменялась по истечению таймера (таймер на три секунды больше композиции). всё вроде бы получалось да вот только начиная с первой/второй смены композиции начинают накладываться друг на друга. как такое исправить ?
скрипт вот:
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class musik : MonoBehaviour {
public AudioClip MUSIK1;
public AudioClip MusiK2;
public float OSTALOS;
public AudioClip WhatMusik;
void Start(){
WhatMusik = MUSIK1;
gameObject.GetComponent <AudioSource> ().PlayOneShot (MUSIK1);
OSTALOS = 75;
}
void Update () {
if (OSTALOS < 0) {
if (WhatMusik == MUSIK1) {
gameObject.GetComponent <AudioSource> ().PlayOneShot (MusiK2);
OSTALOS = 282;
WhatMusik = MusiK2;
}
if (WhatMusik == MusiK2) {
gameObject.GetComponent <AudioSource> ().PlayOneShot (MUSIK1);
OSTALOS = 75;
WhatMusik = MUSIK1;
}
} else {
OSTALOS -= Time.deltaTime;
}
}
}
using System.Collections.Generic;
using UnityEngine;
public class musik : MonoBehaviour {
public AudioClip MUSIK1;
public AudioClip MusiK2;
public float OSTALOS;
public AudioClip WhatMusik;
void Start(){
WhatMusik = MUSIK1;
gameObject.GetComponent <AudioSource> ().PlayOneShot (MUSIK1);
OSTALOS = 75;
}
void Update () {
if (OSTALOS < 0) {
if (WhatMusik == MUSIK1) {
gameObject.GetComponent <AudioSource> ().PlayOneShot (MusiK2);
OSTALOS = 282;
WhatMusik = MusiK2;
}
if (WhatMusik == MusiK2) {
gameObject.GetComponent <AudioSource> ().PlayOneShot (MUSIK1);
OSTALOS = 75;
WhatMusik = MUSIK1;
}
} else {
OSTALOS -= Time.deltaTime;
}
}
}