[TUTORIAL] Tocar audios de uma lista em uma sequência que se repete
+2
ronito
MarcosSchultz
6 participantes
Página 1 de 1
[TUTORIAL] Tocar audios de uma lista em uma sequência que se repete
Este tutorial é para a Unity 5
Elaborei este script simples, onde você joga audios em uma array e eles são tocados de forma consecutiva, e quando chega no ultimo, repete des do inicio.
é como uma PlayList de músicas... vai tocando uma a uma sequencialmente até a ultima, e quando chega na ultima, recomeça tudo
este é o script :D
Elaborei este script simples, onde você joga audios em uma array e eles são tocados de forma consecutiva, e quando chega no ultimo, repete des do inicio.
é como uma PlayList de músicas... vai tocando uma a uma sequencialmente até a ultima, e quando chega na ultima, recomeça tudo
este é o script :D
- Código:
using UnityEngine;
using System.Collections;
public class TocarSonsAutomaticamente : MonoBehaviour {
public AudioClip[] Audios;
private int AudioAtual;
private float TempoDoAudioAtual,cronometroDoAudioAtual;
void Start () {
AudioAtual = 0;
TempoDoAudioAtual = Audios [AudioAtual].length;
GetComponent<AudioSource> ().PlayOneShot (Audios[AudioAtual]);
}
void Update (){
cronometroDoAudioAtual += Time.deltaTime;
if (cronometroDoAudioAtual >= TempoDoAudioAtual && AudioAtual < Audios.Length -1) {
cronometroDoAudioAtual = 0;
AudioAtual = AudioAtual +1;
TempoDoAudioAtual = Audios [AudioAtual].length;
GetComponent<AudioSource> ().PlayOneShot (Audios[AudioAtual]);
}else if (cronometroDoAudioAtual >= TempoDoAudioAtual && AudioAtual >= Audios.Length -1) {
cronometroDoAudioAtual = 0;
AudioAtual = 0;
TempoDoAudioAtual = Audios [AudioAtual].length;
GetComponent<AudioSource> ().PlayOneShot (Audios[AudioAtual]);
}
}
}
Última edição por MarcosSchultz em Ter Jun 07, 2016 9:19 pm, editado 1 vez(es)
Re: [TUTORIAL] Tocar audios de uma lista em uma sequência que se repete
Muito bom cara, perfeito
ronito- Avançado
- PONTOS : 3668
REPUTAÇÃO : 9
Idade : 27
Respeito as regras :
Re: [TUTORIAL] Tocar audios de uma lista em uma sequência que se repete
Ta funcionando que é uma beleza, meu game ta ficando maneiro graças os seus tutoriais.
Valeu Marcos.
Valeu Marcos.
waldinei- Iniciante
- PONTOS : 3359
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Tocar audios de uma lista em uma sequência que se repete
Onde coloca esse script? No player? Grato!
perinaldoc- Membro
- PONTOS : 3416
REPUTAÇÃO : 9
Respeito as regras :
Re: [TUTORIAL] Tocar audios de uma lista em uma sequência que se repete
Em algum objeto vazio que tenha o componente AudioSource
Re: [TUTORIAL] Tocar audios de uma lista em uma sequência que se repete
Ok, valeu, coloquei aqui e está perfeito! Abraço!
perinaldoc- Membro
- PONTOS : 3416
REPUTAÇÃO : 9
Respeito as regras :
Re: [TUTORIAL] Tocar audios de uma lista em uma sequência que se repete
MarcosSchultz escreveu:Este tutorial é para a Unity 5
Elaborei este script simples, onde você joga audios em uma array e eles são tocados de forma consecutiva, e quando chega no ultimo, repete des do inicio.
é como uma PlayList de músicas... vai tocando uma a uma sequencialmente até a ultima, e quando chega na ultima, recomeça tudo
este é o script :D
- Código:
using UnityEngine;
using System.Collections;
public class TocarSonsAutomaticamente : MonoBehaviour {
public AudioClip[] Audios;
private int AudioAtual;
private float TempoDoAudioAtual,cronometroDoAudioAtual;
void Start () {
AudioAtual = 0;
TempoDoAudioAtual = Audios [AudioAtual].length;
GetComponent<AudioSource> ().PlayOneShot (Audios[AudioAtual]);
}
void Update (){
cronometroDoAudioAtual += Time.deltaTime;
if (cronometroDoAudioAtual >= TempoDoAudioAtual && AudioAtual < Audios.Length -1) {
cronometroDoAudioAtual = 0;
AudioAtual = AudioAtual +1;
TempoDoAudioAtual = Audios [AudioAtual].length;
GetComponent<AudioSource> ().PlayOneShot (Audios[AudioAtual]);
}else if (cronometroDoAudioAtual >= TempoDoAudioAtual && AudioAtual >= Audios.Length -1) {
cronometroDoAudioAtual = 0;
AudioAtual = 0;
TempoDoAudioAtual = Audios [AudioAtual].length;
GetComponent<AudioSource> ().PlayOneShot (Audios[AudioAtual]);
}
}
}
--------------------
Ola, por exemplo, tenho em um diretorio, chamado musicas, outros subdiretorios, dentro, como, musica001,musica002, assim, por diante, dentro de cada
pasta , tenho arquivos, do tipo, .wav, por exemplo tenho uma sequencia de musica que usa 180, notas, bem, peguei o script acima,
e adicionei as 180 sequencias, e tocou a musica perfeito, respeitando o tempo de cada nota,
so, que tive que fazer manualmente isso, existe como ele ler as pastas e gerar as sequencias no array para serem tocadas ?
e como pode ser feito ?
walney- Iniciante
- PONTOS : 3293
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Tocar audios de uma lista em uma sequência que se repete
Tem sim. Porém voce terá que criar uma pasta chamada "Resources" e colocar todas suas musicas nesta pasta. Depois é só colocar este script:
Mas para fazer isso nomeie cada musica com seus respectivos números. (Renomeie as musicas para "musica" e seu numero. Exemplo, nao deixe com o nome "A-ha - Take on Me", o nome original da musica.
Lembre-se, nao substitua o script, adicione.
Se nao funcionar me fale.
Mas para fazer isso nomeie cada musica com seus respectivos números. (Renomeie as musicas para "musica" e seu numero. Exemplo, nao deixe com o nome "A-ha - Take on Me", o nome original da musica.
- Código:
public AudioClip[] Audios;
public int number;
public string sequencia;
void Start()
{
sequencia = "musica00";
for(int i = 0; i < Audios.Length; i++)
{
number = i;
if(number >= 10)
{
sequencia = "musica0";
}
if(number >= 100)
{
sequencia = "musica";
}
var musicas = Resources.Load(sequencia + number) as AudioClip;
Audios[i] = musicas;
}
Lembre-se, nao substitua o script, adicione.
Se nao funcionar me fale.
Pokedlg- ProgramadorMaster
- PONTOS : 2336
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Tópicos semelhantes
» [TUTORIAL] Tocar Sons aleatórios de uma lista
» [TUTORIAL] Fazer som tocar apenas com colisão
» [TUTORIAL] Criar um Array ( lista de objetos )
» [TUTORIAL] Gerar números aleatórios SEM REPETIR (método com lista)
» [TUTORIAL] Trocar a textura de um objeto pelas texturas de uma lista ( array ) seguindo a ordem da mesma.
» [TUTORIAL] Fazer som tocar apenas com colisão
» [TUTORIAL] Criar um Array ( lista de objetos )
» [TUTORIAL] Gerar números aleatórios SEM REPETIR (método com lista)
» [TUTORIAL] Trocar a textura de um objeto pelas texturas de uma lista ( array ) seguindo a ordem da mesma.
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos