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

Questions à propos de la partie audio, y compris les problèmes de script s'y rapportant.
damien-max
Messages : 54
Inscription : 19 Déc 2017 23:44

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

Message par damien-max » 05 Oct 2018 20:21

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:
Dernière édition par damien-max le 07 Oct 2018 12:57, édité 1 fois.

Avatar de l’utilisateur
Max
Messages : 8764
Inscription : 30 Juil 2011 13:57
Contact :

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

Message par Max » 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.
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

damien-max
Messages : 54
Inscription : 19 Déc 2017 23:44

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

Message par damien-max » 06 Oct 2018 18:59

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!

Avatar de l’utilisateur
DevAmat
Messages : 435
Inscription : 23 Nov 2016 11:50

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

Message par DevAmat » 12 Oct 2018 15:18

C'est dommage d'avoir effacer ton sujet alors qu'il était résolu. Cela peut aider d'autres personnes.

Répondre

Revenir vers « Audio, musique et sons »