Page 1 sur 1

Comment utiliser Resources.Load?

Publié : 20 Août 2015 22:43
par grex
bonjour,
J’aimerai savoir comment charger des sons dans un tableau audioclip en utilisant Resources.Load.
Quant je dépose mes son par glisser déposer sa marche mais j'ai besoin de renseigner les path avec Resources.Load.

Code : Tout sélectionner

using UnityEngine;
using System.Collections;
[ RequireComponent (typeof ( AudioSource ))]

public class son : MonoBehaviour {
	
	AudioSource audio;
	private AudioClip[] sons;





	void Start (){


		sons =  new AudioClip[]{(AudioClip)Resources.Load(Application.dataPath +"/Resources/mots/ancre/ancre.ogg"),
			(AudioClip)Resources.Load(Application.dataPath +"/Resources/mots/ange/ange.ogg"), 
			(AudioClip)Resources.Load(Application.dataPath +"Resources/mots/anglais/anglais.ogg"), 
			(AudioClip)Resources.Load(Application.dataPath +"Resources/mots/antenne/antenne.ogg")};


		audio = GetComponent<AudioSource>();
	}
	
	



	IEnumerator OnTriggerEnter(Collider other) {

		modifier_text.les_mots.text=PlayerPrefs.GetString("mot"+modifier_text.incremente);

		audio.clip = sons[modifier_text.numeroMot+1];
		audio.Play();

		yield return new WaitForSeconds (audio.clip.length);
		modifier_text.numeroMot++;
		modifier_text.incremente++;
		Destroy(gameObject);



	}

	void Update () {
		
	}
	
}

Re: Comment utiliser Resources.Load?

Publié : 21 Août 2015 07:58
par david.dnastudios
Salut,

Tu peux le voir dans la doc: http://docs.unity3d.com/ScriptReference ... .Load.html
The path is relative to any Resources folder inside the Assets folder of your project, extensions must be omitted.
A+

Re: Comment utiliser Resources.Load?

Publié : 21 Août 2015 13:19
par grex
Pour tester j'ai mis directement qu'elle que sons dans le dossier resources sans utiliser de sous dossier et en ecrivant juste le non des son et sa ne fonctionne toujours pas.

Code : Tout sélectionner

	sons =  new AudioClip[]{(AudioClip)Resources.Load("ancre.ogg"),
			(AudioClip)Resources.Load("ange.ogg"), 
			(AudioClip)Resources.Load("anglais.ogg")};
Et j'ai cette erreur qui s'affiche:
NullReferenceException: Object reference not set to an instance of an object
son+<OnTriggerEnter>c__Iterator8.MoveNext () (at Assets/NIVEAUX/player/son.cs:36)
Sa correspond a cette ligne
yield return new WaitForSeconds (audio.clip.length);

Re: Comment utiliser Resources.Load?

Publié : 21 Août 2015 22:55
par artemisart
En reprenant ton code ça devrait donner :

Code : Tout sélectionner

using UnityEngine;
using System.Collections;

[RequireComponent (typeof (AudioSource))]
public class Son : MonoBehaviour
{
	AudioSource audio;
	private AudioClip[] sons;

	void Start ()
	{
		sons = new AudioClip[] {
			(AudioClip)Resources.Load ("mots/ancre/ancre"),
			(AudioClip)Resources.Load ("mots/ange/ange"),
			(AudioClip)Resources.Load ("mots/anglais/anglais"),
			(AudioClip)Resources.Load ("mots/antenne/antenne")
		};
		audio = GetComponent<AudioSource>();
	}

	IEnumerator OnTriggerEnter(Collider other)
	{
		modifier_text.les_mots.text = PlayerPrefs.GetString ("mot" + modifier_text.incremente);

		audio.clip = sons[modifier_text.numeroMot + 1];
		audio.Play();

		yield return new WaitForSeconds (audio.clip.length);
		modifier_text.numeroMot++;
		modifier_text.incremente++;
		Destroy (gameObject);
	}
}

Re: Comment utiliser Resources.Load?

Publié : 22 Août 2015 01:15
par grex
J'ai effectuer les modifications et il reste cette erreur:
InvalidCastException: Cannot cast from source type to destination type.
son.Start () (at Assets/NIVEAUX/player/son.cs:12)

Re: Comment utiliser Resources.Load?

Publié : 23 Août 2015 20:09
par artemisart
Tu as cette erreur au runtime ou à la compilation ?

Re: Comment utiliser Resources.Load?

Publié : 24 Août 2015 19:47
par grex
Au runtime et c'est bizarre car c'est écrit en rouge alors normalement se type d'erreur ne devrais pas me permettre de lancer le jeux.

Re: Comment utiliser Resources.Load?

Publié : 24 Août 2015 21:52
par grex
j'ai fait une nouvelle modification et mon probleme est résolue:

Code : Tout sélectionner

 Resources.Load<AudioClip>("mots/ancre/ancre"),