以下是一些见解:我在Unity 4.6.3中使用UnityScript。我有一个名为Pause.js的脚本,它包含这个函数:
function fadeMusicOut () {
while (audio.volume >= 0.005) {
yield WaitForSeconds(0.1);
Debug.Log("Loop Entered: " + audio.volume);
audio.volume = (audio.volume - 0.015);
}
另一个脚本GameManager.js具有此功能:
static function Score (wallName : String) {
if (wallName == "rightWall") {
playerScore01 += 1;
}
else {
playerScore02 += 1;
}
if (playerScore01 == SettingsBack.scoreLimit || playerScore02 == SettingsBack.scoreLimit)
{
startParticles = 1;
SettingsBack.gameOver = 1;
BallControl.fadeSound = 1;
yield WaitForSeconds(4);
Camera.main.SendMessage("fadeOut");
Pause.fadeMusic = 1;
SettingsBack.soundVolume = 0;
yield WaitForSeconds(2);
playerScore01 = 0;
playerScore02 = 0;
SettingsBack.soundVolume = oldSoundVol;
Application.LoadLevel("_Menu");
}
}
所以我想从fadeMusicOut()
调用static function Score
函数,但它不会让我,因为它说它需要该对象的实例。
Pause.js脚本未附加到任何游戏对象,但它附加到2个调用其特定功能的按钮。 GameManager.js脚本附加到名为GM的对象。那么我怎样才能从乐谱功能中调用fadeMusicOut()
?
我尝试设置导入游戏对象的新变量,但仍然没有运气。我尝试将fadeMusicOut()
作为静态函数,但它会产生许多错误。
任何帮助都表示赞赏。