Pouvez-vous s'il vous plaît m'aider avec ce problème, j'ajoute FMOD à UNITY et je veux changer ma musique quand le joueur est endommagé, du côté FMOD est OK, mais dans l'unité, il me donne une erreur: NullReferenceException: objet de référence non définie à une instance d'un MusicControl.Update objet() (à Actif/MusicControl.cs:Unity + FMOD variable de joueur de santé à getParameter ne fonctionne pas
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
using FMOD.Studio;
public class MusicControl : MonoBehaviour {
[FMODUnity.EventRef]
public string explosion = "event:/EXPLOSION";
[FMODUnity.EventRef]
public string shoot = "event:/SHOOT SOUND";
[FMODUnity.EventRef]
public string menuMusic = "event:/MENU MUSIC";
int val;
public FMOD.Studio.EventInstance musicEv;
public FMOD.Studio.ParameterInstance musicPar;
void Start()
{
}
//music for menu, I'm call this function when my stage starts(menu game)
public void MenuMusic()
{
musicEv = FMODUnity.RuntimeManager.CreateInstance(menuMusic);
musicEv.start();
}
//music for level 1, I'm call this function when my stage starts(level game)
public void LevelMusic()
{
musicEv = FMODUnity.RuntimeManager.CreateInstance(menuMusic);
musicEv.setParameterValue("FIGHT MUSIC", 100f);
musicEv.getParameter("HEALTH", out musicPar);
musicPar.setValue(100);
musicEv.start();
}
//I'm call this function when stages is close up
public void StopMusic()
{
musicEv.stop(FMOD.Studio.STOP_MODE.IMMEDIATE);
}
// I'm take current Health from Player script
void Update()
val = GameObject.Find("Player").GetComponent<Player>().stats.curHealth;
musicPar.setValue(val); //Unity gives me an error - NullReferenceException: Object reference not set to an instance of an object MusicControl.Update() (at Assets/MusicControl.cs:147)
}
}
Merci pour l'avance
Il est bon de mettre GameObject.Find() dans Update(), parce que l'unité se trouve l'objet dans la scène chaque image, laissez dire que vous avez 100 objet alors besoin de trouver l'unité objet nommé joueur dans tous les Cadre. Mettez-le dans la fonction Awake(). –