Page 1 sur 1

[RÉSOLU][DB-AL] Changer un audioClip d'un script via un autre script

Publié : 05 Oct 2018 20:21
par damien-max
Bonjour,

Je tient tout d'abord à m'excuser pour ce post car j'ai posté un sujet il y a quelques heure que j'ai effacer car résolu. Sauf qu'en faite, non. Je pensait l'avoir résolu mais il n'en est rien :/

Je cherche à savoir s'il est possible de changer les audioClip d'autres script via un autre script: Image
Ce sont ces audioClip que je veut changer lorsque le personnage pénètre une zone trigger.

Voici le script (qui ne fonctionne pas):

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[RequireComponent(typeof(playBruitPas))]
public class switchMusicOnTrigger : MonoBehaviour {

	public AudioSource audioSource;

	public AudioClip clip1;
	public AudioClip clip2;
	public AudioClip chute;

	public AudioClip nouveauSons1;
	public AudioClip nouveauSons2;
	public AudioClip nouveauSons3;

	public AudioClip nouveauCrouch1;
	public AudioClip nouveauCrouch2;
	public AudioClip nouveauCrouch3;

	public GameObject bloqueur;

	BoxCollider2D collider;

	// Use this for initialization
	void Start () {

		audioSource.clip = clip1;
		audioSource.Play ();
		
	}
	
	// Update is called once per frame
	void OnTriggerEnter2D (Collider2D other) {
		if (other.tag == "Player") {
			if (audioSource.clip == clip1) {

				Destroy (collider);
				audioSource.clip = chute;

				bloqueur.gameObject.active = true;

				GetComponent <playBruitPas> ().sons1 = nouveauSons1;
				GetComponent <playBruitPas> ().sons2 = nouveauSons2;
				GetComponent <playBruitPas> ().sons3 = nouveauSons3;
				GetComponent <playBruitPas> ().crouch1 = nouveauCrouch1;
				GetComponent <playBruitPas> ().crouch2 = nouveauCrouch2;
				GetComponent <playBruitPas> ().crouch3 = nouveauCrouch3;

				audioSource.Play ();

				StartCoroutine (Timer ());
			}
		}
	}

	IEnumerator Timer (){
		yield return new WaitForSeconds (1.885f);
		audioSource.clip = clip2;
		audioSource.Play();

	}
}
Et voici le script contenant les audioClip à changer:

Code : Tout sélectionner

using UnityEngine;
using System.Collections;

public class playBruitPas : MonoBehaviour {

	public AudioClip sons1;
	public AudioClip sons2;
	public AudioClip sons3;
	public AudioClip sonsDAB;
	public AudioClip crouch1;
	public AudioClip crouch2;
	public AudioClip crouch3;
	public AudioSource source;
	public int index = 0;

	void Awake () {
		source = GetComponent<AudioSource>();
	}

	void PlayTheSound1() {
		source.PlayOneShot(sons1);
	}

	void PlayTheSound2() {
		source.PlayOneShot(sons2);
	}

	void PlayTheSound3(){
		source.PlayOneShot (sons3);
	}

	void PlayTheSoundDAB(){
		source.PlayOneShot (sonsDAB);
	}

	void PlayTheCrouch1(){
		source.PlayOneShot (crouch1);
	}

	void PlayTheCrouch2(){
		source.PlayOneShot (crouch2);
	}

	void PlayTheCrouch3(){
		source.PlayOneShot (crouch3);
	}

}
Merci encore pour votre aide précieuse et désolé pour ce malentendu :gene:

Re: [DB-AL] Changer un audioClip d'un script via un autre script

Publié : 06 Oct 2018 14:02
par Max
Hello,

Sincèrement, je ne penses pas que ton approche est la bonne. Quand aux codes ....
Plutôt qu'une longue explication, je te conseilles de regarder cette vidéo: Comment faire un System de "Footstep"
Elle est faite pour la 3D, mais le principe reste exactement le même pour la 2D. Donc cela ne devrait pas être trop compliqué de te l’approprier.
Si tu rencontre des soucis, poste à la suite.

Re: [DB-AL] Changer un audioClip d'un script via un autre script

Publié : 06 Oct 2018 18:59
par damien-max
Max a écrit :
06 Oct 2018 14:02
Hello,

Sincèrement, je ne penses pas que ton approche est la bonne. Quand aux codes ....
Plutôt qu'une longue explication, je te conseilles de regarder cette vidéo: Comment faire un System de "Footstep"
Elle est faite pour la 3D, mais le principe reste exactement le même pour la 2D. Donc cela ne devrait pas être trop compliqué de te l’approprier.
Si tu rencontre des soucis, poste à la suite.

D'accord, je vais jeter un oeil à la vidéo. Merci!

Re: [RÉSOLU][DB-AL] Changer un audioClip d'un script via un autre script

Publié : 12 Oct 2018 15:18
par DevAmat
C'est dommage d'avoir effacer ton sujet alors qu'il était résolu. Cela peut aider d'autres personnes.