Bug(???) no AudioSource
2 participantes
Página 1 de 1
Bug(???) no AudioSource
Olá, estou tentando fazer com que quando o inimigo morra, ele toque um audio, na teoria funcionou, mas toda vez que dava play na cena, todos os inimigos rodavam esse audio(e quando morriam tbm, mas isso está certo), dai eu pensei que fosse pq está linkado direto, então o audio tocaria, dai eu fiz que ele pegasse o audio de outra variavel e colocasse no AudioSource, mas dai não roda
va o audio, msm quando dava start na cena e mesmo quando matava o inimigo, dai eu tbm fui ver e percebi que ele tava criando outro AudioSource no inimigo(além do que tava o audio), e acho que tá dando conflito e por isso não toca o Audio, mas dai tbm tentei na void Start dar um "audioSource.Stop();", mas aconteceu a msm coisa, não rodou em momento algum, alguém poderia me ajudar?
Ficou meio confuso, mas é isso.
Aqui o script:
Se alguém tiver outra sugestão de como fazer isso agradeço
va o audio, msm quando dava start na cena e mesmo quando matava o inimigo, dai eu tbm fui ver e percebi que ele tava criando outro AudioSource no inimigo(além do que tava o audio), e acho que tá dando conflito e por isso não toca o Audio, mas dai tbm tentei na void Start dar um "audioSource.Stop();", mas aconteceu a msm coisa, não rodou em momento algum, alguém poderia me ajudar?
Ficou meio confuso, mas é isso.
Aqui o script:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class coronga : MonoBehaviour
{
public bool tanha, socou;
public GameObject otherObject, particula;
public GameObject naCena;
Animator anim1;
public AudioSource audioSource;
public AudioClip morri;
void Awake()
{
anim1 = GameObject.FindGameObjectWithTag("Player").GetComponent<Animator>();
}
void Start()
{
http://audioSource.Stop();
}
void Update()
{
if (anim1.GetBool("Soca") == true)
{
socou = true;
}
else
{
socou = false;
}
}
private void OnCollisionStay(Collision collision)
{
if (socou == true)
{
if (collision.collider.name == "Player")
{
tanha = true;
Instantiate(particula).transform.position = transform.position;
audioSource.Play();
Destroy(gameObject);
naCena = GameObject.FindGameObjectWithTag("Particula");
Destroy(naCena, 5);
audioSource.Play();
}
}
}
}
Se alguém tiver outra sugestão de como fazer isso agradeço
TIKO- Avançado
- PONTOS : 1809
REPUTAÇÃO : 29
Idade : 17
Áreas de atuação : Modelagem 3D (Básico), Programação (Mais básico ainda), Unity 3D, C#
Respeito as regras :
Re: Bug(???) no AudioSource
TIKO escreveu:Olá, estou tentando fazer com que quando o inimigo morra, ele toque um audio, na teoria funcionou, mas toda vez que dava play na cena, todos os inimigos rodavam esse audio(e quando morriam tbm, mas isso está certo), dai eu pensei que fosse pq está linkado direto, então o audio tocaria, dai eu fiz que ele pegasse o audio de outra variavel e colocasse no AudioSource, mas dai não roda
va o audio, msm quando dava start na cena e mesmo quando matava o inimigo, dai eu tbm fui ver e percebi que ele tava criando outro AudioSource no inimigo(além do que tava o audio), e acho que tá dando conflito e por isso não toca o Audio, mas dai tbm tentei na void Start dar um "audioSource.Stop();", mas aconteceu a msm coisa, não rodou em momento algum, alguém poderia me ajudar?
Ficou meio confuso, mas é isso.
Aqui o script:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class coronga : MonoBehaviour
{
public bool tanha, socou;
public GameObject otherObject, particula;
public GameObject naCena;
Animator anim1;
public AudioSource audioSource;
public AudioClip morri;
void Awake()
{
anim1 = GameObject.FindGameObjectWithTag("Player").GetComponent<Animator>();
}
void Start()
{
//audioSource.Stop();
}
void Update()
{
if (anim1.GetBool("Soca") == true)
{
socou = true;
}
else
{
socou = false;
}
}
private void OnCollisionStay(Collision collision)
{
if (socou == true)
{
if (collision.collider.name == "Player")
{
tanha = true;
Instantiate(particula).transform.position = transform.position;
audioSource.Play();
Destroy(gameObject);
naCena = GameObject.FindGameObjectWithTag("Particula");
Destroy(naCena, 5);
audioSource.Play();
}
}
}
}
Se alguém tiver outra sugestão de como fazer isso agradeço
Pelo que entendi, talvez seja pq seu gameObject está sendo destruído logo depois de dar play no AudioSource.
- Código:
audioSource.Play();
Destroy(gameObject);
Charlesoff- MembroAvançado
- PONTOS : 1798
REPUTAÇÃO : 40
Áreas de atuação : Game dev
Respeito as regras :
Re: Bug(???) no AudioSource
Mas ele toca normal, só quando dou "AudioSource.Stop()" que ele não roda
TIKO- Avançado
- PONTOS : 1809
REPUTAÇÃO : 29
Idade : 17
Áreas de atuação : Modelagem 3D (Básico), Programação (Mais básico ainda), Unity 3D, C#
Respeito as regras :
Re: Bug(???) no AudioSource
Você desmarcou essa opção no audioSource?
Isso faz o AudioSource tocar toda vez que iniciar a cena
Isso faz o AudioSource tocar toda vez que iniciar a cena
Charlesoff- MembroAvançado
- PONTOS : 1798
REPUTAÇÃO : 40
Áreas de atuação : Game dev
Respeito as regras :
Re: Bug(???) no AudioSource
Sim, mas dai o audio não funciona quando mato eles
TIKO- Avançado
- PONTOS : 1809
REPUTAÇÃO : 29
Idade : 17
Áreas de atuação : Modelagem 3D (Básico), Programação (Mais básico ainda), Unity 3D, C#
Respeito as regras :
Re: Bug(???) no AudioSource
UP pq não consegui resolver até agr
TIKO- Avançado
- PONTOS : 1809
REPUTAÇÃO : 29
Idade : 17
Áreas de atuação : Modelagem 3D (Básico), Programação (Mais básico ainda), Unity 3D, C#
Respeito as regras :
Tópicos semelhantes
» Problemas com AudioSource
» Ajuda na criação de AudioSource
» Evento Loop do AudioSource não funciona
» Mudar o volume do AudioSource conforme altera uma variavel
» Dar play em em um áudio onde na mesma cena tem 2 audiosource
» Ajuda na criação de AudioSource
» Evento Loop do AudioSource não funciona
» Mudar o volume do AudioSource conforme altera uma variavel
» Dar play em em um áudio onde na mesma cena tem 2 audiosource
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos