Sons de Passos
2 participantes
Página 1 de 1
Sons de Passos
Galera, eu fiz o som de passos do marcos, porem ao invés de tocar apenar 1 som, eu queria que tocasse um conjunto de sons e na ordem que eu coloca-los. Alguém poderia me ajudar?
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
public class SonsPassos : MonoBehaviour {
public AudioClip Terreno, Casa;
public AudioClip Pulo;
private CharacterController controller;
private bool Pulou,Esperando;
private float TempoDeEspera,tempoCorridaENormal = 1;
public float TempoTerreno = 0.5f, TempoCasa = 0.5f,TempoPulo = 0.5f,Aceleracao = 1.3f;
void Start (){
controller = GetComponent<CharacterController> ();
}
void Update (){
RaycastHit hit;
if (Pulou == false) {
if (Physics.Raycast (transform.position, Vector3.down, out hit)) {
if (hit.collider.gameObject.CompareTag ("Terreno")) {
GetComponent<AudioSource> ().clip = Terreno;
} else if (hit.collider.gameObject.CompareTag ("Casas")) {
GetComponent<AudioSource>().clip = Casa;
}
}
if (controller.isGrounded && controller.velocity.magnitude > 0.2f) {
if (!GetComponent<AudioSource>().isPlaying) {
TocarSons ();
}
}
if (!controller.isGrounded || controller.velocity.magnitude <= 0.19f) {
GetComponent<AudioSource>().Stop ();
}
}
if (Input.GetKeyDown (KeyCode.Space) && Pulou == false) {
Pulou = true;
GetComponent<AudioSource>().clip = Pulo;
if (!GetComponent<AudioSource>().isPlaying) {
GetComponent<AudioSource>().Play ();
} else if (GetComponent<AudioSource>().isPlaying) {
GetComponent<AudioSource>().Stop ();
GetComponent<AudioSource>().Play ();
}
}
if (Esperando == true) {
TempoDeEspera -= Time.deltaTime;
}
if (TempoDeEspera <= 0) {
Esperando = false;
}
if (Input.GetKey (KeyCode.LeftShift)) {
tempoCorridaENormal = 1 / Aceleracao;
} else {
tempoCorridaENormal = 1;
}
}
void OnControllerColliderHit (ControllerColliderHit hit){
Pulou = false;
}
void TocarSons (){
if (Esperando == false) {
GetComponent<AudioSource>().Stop ();
if (GetComponent<AudioSource>().clip == Terreno) {
TempoDeEspera = TempoTerreno * tempoCorridaENormal;
Esperando = true;
GetComponent<AudioSource> ().PlayOneShot (GetComponent<AudioSource> ().clip);
}
if (GetComponent<AudioSource>().clip == Casa) {
TempoDeEspera = TempoCasa * tempoCorridaENormal;
Esperando = true;
GetComponent<AudioSource>().PlayOneShot (GetComponent<AudioSource>().clip);
}
if (GetComponent<AudioSource>().clip == Pulo) {
TempoDeEspera = TempoPulo * tempoCorridaENormal;
Esperando = true;
GetComponent<AudioSource>().PlayOneShot (GetComponent<AudioSource>().clip);
}
}
}
}
BaldursHell- Iniciante
- PONTOS : 2947
REPUTAÇÃO : 2
Respeito as regras :
Tópicos semelhantes
» Dúvida com sons de passos
» como posso fazer sons dos passos do inimigo
» Som de passos 3º pessoas Unity C#
» onde baixar sons gratuitos para meu jogo (sons sem direitos autorais)
» Som de passos
» como posso fazer sons dos passos do inimigo
» Som de passos 3º pessoas Unity C#
» onde baixar sons gratuitos para meu jogo (sons sem direitos autorais)
» Som de passos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos