我正在研究Unity 5中的演示音頻項目,並且遇到了一些問題。我的目標是將currentHealth(包含在單獨的「PlayerHealth」腳本中)的值賦予FMOD中的一個參數,以隨着播放器的健康狀況的下降調製音樂(使其更加強烈)。我不以任何方式編程,但已被迫讓我的手髒,以實現統一5.無法將`object'表達式轉換爲`float'類型 - HealthParam.SetValue(PlayerHealth.currentHealth);
HealthParam.setValue (PlayerHealth.currentHealth);
這行代碼是使統一不高興的音樂。我已經認識到它可能與靜態和實例成員之間的差異有關,但我又不是程序員,真的不知道如何鑽研這些雜草。
的錯誤是:
「參數
#1' cannot convert
對象 '表達式來鍵入'浮動'」「最好重載方法匹配 `FMOD.Studio.ParameterInstance.setValue(浮點)」有一些無效 參數」
「的對象引用需要訪問非靜態成員 `PlayerHealth.currentHealth「」
下面是腳本:
using UnityEngine;
using System.Collections;
public class MusicManager : MonoBehaviour
{
public int startingHealth = 100;
public int currentHealth;
public PlayerHealth playerHealth;
GameObject player;
[FMODUnity.EventRef]
public string ScaryMusic = "event:/ZombunnyHorrorMusic";
FMOD.Studio.EventInstance MusicEv;
FMOD.Studio.ParameterInstance HealthParam;
void awake()
{
// player = GameObject.FindGameObjectWithTag ("Player");
// playerHealth = player.GetComponent <PlayerHealth>();
}
void Start()
{
MusicEv = FMODUnity.RuntimeManager.CreateInstance (ScaryMusic);
MusicEv.getParameter ("Health", out HealthParam);
MusicEv.start();
}
void update()
{
// currentHealth = Mathf.Abs (PlayerHealth.currentHealth);
HealthParam.setValue (PlayerHealth.currentHealth);
}
void OnDestroy()
{
MusicEv.stop (FMOD.Studio.STOP_MODE.IMMEDIATE);
}
}
@請發佈'HealthParam'類定義。 – tchelidze
你可以分享'HealthParam'類的代碼嗎? –