Comment utiliser Resources.Load?

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
grex
Messages : 140
Inscription : 30 Mars 2014 18:11

Comment utiliser Resources.Load?

Message par grex » 20 Août 2015 22:43

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 () {
		
	}
	
}
Ne faite par attention aux fautes je suis dyslexique.
J'utilise déjà un correcteur automatique:
http://www.reverso.net/orthographe/correcteur-francais/

Avatar de l’utilisateur
david.dnastudios
Messages : 38
Inscription : 11 Mars 2015 10:17

Re: Comment utiliser Resources.Load?

Message par david.dnastudios » 21 Août 2015 07:58

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+

grex
Messages : 140
Inscription : 30 Mars 2014 18:11

Re: Comment utiliser Resources.Load?

Message par grex » 21 Août 2015 13:19

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);
Ne faite par attention aux fautes je suis dyslexique.
J'utilise déjà un correcteur automatique:
http://www.reverso.net/orthographe/correcteur-francais/

Avatar de l’utilisateur
artemisart
Messages : 1893
Inscription : 21 Juin 2011 19:51
Localisation : Centre
Contact :

Re: Comment utiliser Resources.Load?

Message par artemisart » 21 Août 2015 22:55

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);
	}
}

grex
Messages : 140
Inscription : 30 Mars 2014 18:11

Re: Comment utiliser Resources.Load?

Message par grex » 22 Août 2015 01:15

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)
Ne faite par attention aux fautes je suis dyslexique.
J'utilise déjà un correcteur automatique:
http://www.reverso.net/orthographe/correcteur-francais/

Avatar de l’utilisateur
artemisart
Messages : 1893
Inscription : 21 Juin 2011 19:51
Localisation : Centre
Contact :

Re: Comment utiliser Resources.Load?

Message par artemisart » 23 Août 2015 20:09

Tu as cette erreur au runtime ou à la compilation ?

grex
Messages : 140
Inscription : 30 Mars 2014 18:11

Re: Comment utiliser Resources.Load?

Message par grex » 24 Août 2015 19:47

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.
Ne faite par attention aux fautes je suis dyslexique.
J'utilise déjà un correcteur automatique:
http://www.reverso.net/orthographe/correcteur-francais/

grex
Messages : 140
Inscription : 30 Mars 2014 18:11

Re: Comment utiliser Resources.Load?

Message par grex » 24 Août 2015 21:52

j'ai fait une nouvelle modification et mon probleme est résolue:

Code : Tout sélectionner

 Resources.Load<AudioClip>("mots/ancre/ancre"),
Ne faite par attention aux fautes je suis dyslexique.
J'utilise déjà un correcteur automatique:
http://www.reverso.net/orthographe/correcteur-francais/

Répondre

Revenir vers « (C#) CSharp »