PROBLEMA COM REPRODUÇÃO DE ÁUDIO UNITY 5
3 participantes
Página 1 de 1
PROBLEMA COM REPRODUÇÃO DE ÁUDIO UNITY 5
Criei um código que previa que quando eu passasse de uma linha na coordenada x = 67, um som tocasse.
Aqui eu colocava a variável PlayAudio (public AudioSource PlayAudio;) Como sendo ligada a meu AudioSource que já estava configurado com meu AudioSource que já estava configurado.
Agora, o problema é que por algum motivo, ao invés do som tocar quando eu passo da coordenada 67 ele só toca quando eu passo da 67 e depois volto. E se eu for denovo pra uma coordenada maior que a 67 o som para. Tentei várias coisas mas não deu certo. Alguém tem alguma ideia pra me ajudar? Aqui está meu script completo:
Obs.: O IEnumerator é outra função deste mesmo script.
- Código:
if (ReceivePersonagePosition >= 67.0001F) {
PlayAudio.Play ();
}
//ReceivePersonagePosition recebia uma variável de outro script ligado ao meu FPSController que mandava sua posição em x.
Aqui eu colocava a variável PlayAudio (public AudioSource PlayAudio;) Como sendo ligada a meu AudioSource que já estava configurado com meu AudioSource que já estava configurado.
Agora, o problema é que por algum motivo, ao invés do som tocar quando eu passo da coordenada 67 ele só toca quando eu passo da 67 e depois volto. E se eu for denovo pra uma coordenada maior que a 67 o som para. Tentei várias coisas mas não deu certo. Alguém tem alguma ideia pra me ajudar? Aqui está meu script completo:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class IsGoingtoParkourRoom : MonoBehaviour {
public bool IsThePersonagePassedOfTheLine;
public double ReceivePersonagePosition;
public float SecondsSpeak0;
public float SecondsSpeak1;
public float SecondsSpeak2;
public float SecondsSpeak3;
public GameObject Object1;
public GameObject Object2;
public GameObject Object3;
public GameObject Object4;
public AudioSource PlayAudio;
void Start () {
IsThePersonagePassedOfTheLine = false;
SecondsSpeak0 = 0.0F;
SecondsSpeak1 = 2.2F;
SecondsSpeak2 = 5.2F;
SecondsSpeak3 = 6.7F;
}
void Update () {
ReceivePersonagePosition = SayPosition.positionx;
if (ReceivePersonagePosition >= 67.0001F) {
StartCoroutine (Example ());
PlayAudio.Play ();
}
}
IEnumerator Example () {
yield return new WaitForSeconds (SecondsSpeak1);
Destroy (Object1);
yield return new WaitForSeconds (SecondsSpeak2);
Destroy (Object2);
yield return new WaitForSeconds (SecondsSpeak3);
Destroy (Object3);
Destroy (Object4);
}
}
Obs.: O IEnumerator é outra função deste mesmo script.
VictorABezerra- Iniciante
- PONTOS : 2782
REPUTAÇÃO : 1
Respeito as regras :
Re: PROBLEMA COM REPRODUÇÃO DE ÁUDIO UNITY 5
OLÁ AMIGO TENTE ISSO! ESPERO TER TE AJUDADO!VictorABezerra escreveu:Criei um código que previa que quando eu passasse de uma linha na coordenada x = 67, um som tocasse.
- Código:
if (ReceivePersonagePosition >= 67.0001F) {
PlayAudio.Play ();
}
//ReceivePersonagePosition recebia uma variável de outro script ligado ao meu FPSController que mandava sua posição em x.
Aqui eu colocava a variável PlayAudio (public AudioSource PlayAudio;) Como sendo ligada a meu AudioSource que já estava configurado com meu AudioSource que já estava configurado.
Agora, o problema é que por algum motivo, ao invés do som tocar quando eu passo da coordenada 67 ele só toca quando eu passo da 67 e depois volto. E se eu for denovo pra uma coordenada maior que a 67 o som para. Tentei várias coisas mas não deu certo. Alguém tem alguma ideia pra me ajudar? Aqui está meu script completo:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class IsGoingtoParkourRoom : MonoBehaviour {
public bool IsThePersonagePassedOfTheLine;
public double ReceivePersonagePosition;
public float SecondsSpeak0;
public float SecondsSpeak1;
public float SecondsSpeak2;
public float SecondsSpeak3;
public GameObject Object1;
public GameObject Object2;
public GameObject Object3;
public GameObject Object4;
public AudioSource PlayAudio;
void Start () {
IsThePersonagePassedOfTheLine = false;
SecondsSpeak0 = 0.0F;
SecondsSpeak1 = 2.2F;
SecondsSpeak2 = 5.2F;
SecondsSpeak3 = 6.7F;
}
void Update () {
ReceivePersonagePosition = SayPosition.positionx;
if (ReceivePersonagePosition >= 67.0001F) {
StartCoroutine (Example ());
PlayAudio.Play ();
}
}
IEnumerator Example () {
yield return new WaitForSeconds (SecondsSpeak1);
Destroy (Object1);
yield return new WaitForSeconds (SecondsSpeak2);
Destroy (Object2);
yield return new WaitForSeconds (SecondsSpeak3);
Destroy (Object3);
Destroy (Object4);
}
}
Obs.: O IEnumerator é outra função deste mesmo script.
Gabriel César O- Profissional
- PONTOS : 3986
REPUTAÇÃO : 217
Idade : 23
Áreas de atuação : (ESTUDANDO SEGUNDO GRAU), (FUÇANDO NO UNITY)){
Respeito as regras :
Re: PROBLEMA COM REPRODUÇÃO DE ÁUDIO UNITY 5
Não tá dando certo de jeito nenhum.... Tentei criar um AudioSource diferente e filiar bem no meu FPSController. Testei com outros sons e mesmo assim não deu certo. Acho que vou tentar fazer isso de algum outro modo. Mesmo assim, obrigado!
VictorABezerra- Iniciante
- PONTOS : 2782
REPUTAÇÃO : 1
Respeito as regras :
Re: PROBLEMA COM REPRODUÇÃO DE ÁUDIO UNITY 5
Você tem que fazer uma variável booleana no if da distância > 67... se ela for falsa, chama o comando, e dentro do if, deixa ela verdadeira.
Isto é necessário para não ficar dando Start na rotina o tempo todo, pois como o comando está no Update, se você estiver em > 67, você vai estar dando start na rotina a todo o frame.
Isto é necessário para não ficar dando Start na rotina o tempo todo, pois como o comando está no Update, se você estiver em > 67, você vai estar dando start na rotina a todo o frame.
Tópicos semelhantes
» [RESOLVIDO] Audio não funciona no unity
» Problema ao reproduzir audio
» pequeno problema com audio
» Audio no Unity 5
» audio.clip unity 5
» Problema ao reproduzir audio
» pequeno problema com audio
» Audio no Unity 5
» audio.clip unity 5
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos