场景 05,场景 03,MEP_Desert,Snow_Scene_01,演示。当玩家死亡时,我需要回到那些级别。什么代码回到了我在构建设置中的上一个级别。我需要在其他关卡中再次重复此操作我将如何在构建设置中执行其他场景?
这是我的代码:
{
//----------------------------------------------------------------------------------------------------
// Script describes/processes "Button" element of EasyGUI system
//----------------------------------------------------------------------------------------------------
#pragma strict
@script AddComponentMenu ("EGUI/UI_Elements/Button")
import UnityEngine.SceneManagement;
public class EGUI_Button extends EGUI_Element {}
// List of built-in functionality types
public enum ButtonAction
{
None, // Do nothing
Custom, // Call function (name in callFunction) with parameter for actionRecipient object (this gameObject is default)
LoadLevel, // Load level with index/name in parameter
RestartLevel, // Restart current level
ExitGame, // Close application
SetQuality, // Set quality level according to parameter (Fastest, Fast, ... Fantastic)
DecQuality, // Decrease quality level
IncQuality, // Increase quality level
SetResolution, // Set screen resolution according to parameter (1024x768, 1920x1080 ... etc)
OpenURL, // Open URL specified in parameter
CloseEverything, // Close/disable whole GUI manager and all related GUI-elements.
Resume, // Close parent GUI-element and set time-scale to 1
ShowAnother, // Show GUI-element specified in actionRecipient
ShowPrevious, // Show previous GUI-element
HideThis, // Hide parent GUI-element
HideThis_ShowAnother, // Hide parent GUI-element and show window specified in actionRecipient
HideThis_ShowPrevious, // Hide parent GUI-element and show previous window
SoundSwitch // Enable/Disable all sounds in the scene
};
var onClickAction: ButtonAction; // Action preset to perform onClick
var actionRecipient: GameObject; // Optional link to action recipient object
var callFunction: String; // Optional name of custom function to call
var parameter: String; // Optional parameter to send/use in the Action
//=====================================================================================================
// Overload parent OnClick function to Perform built-in actions
function OnClick ()
{
super.OnClick();
PerformAction ();
}
//----------------------------------------------------------------------------------------------------
// Perform built-in actions according to selected type (onClickAction)
function PerformAction ()
{
switch (onClickAction)
{
case ButtonAction.None:
;
break;
case ButtonAction.Custom:
if(!actionRecipient) actionRecipient = gameObject;
if(parameter.Length > 0) actionRecipient.SendMessage (callFunction, parameter, SendMessageOptions.DontRequireReceiver);
else actionRecipient.SendMessage (callFunction, SendMessageOptions.DontRequireReceiver);
break;
case ButtonAction.LoadLevel:
Time.timeScale = 1;
try
SceneManager.LoadScene(int.Parse(parameter));
catch(error)
SceneManager.LoadScene(parameter);
if (SceneManager.GetActiveScene().buildIndex > 2) // if not the first scene load the prvious scene
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex - 4);
else
SceneManager.LoadScene(0);
break;
case ButtonAction.RestartLevel:
Time.timeScale = 1;
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
break;
case ButtonAction.ExitGame:
Application.Quit();
break;
case ButtonAction.SetQuality:
switch (parameter)
{
case "Fastest":
QualitySettings.SetQualityLevel(QualityLevel.Fastest);
break;
case "Fast":
QualitySettings.SetQualityLevel(QualityLevel.Fast);
break;
case "Simple":
QualitySettings.SetQualityLevel(QualityLevel.Simple);
break;
case "Good":
QualitySettings.SetQualityLevel(QualityLevel.Good);
break;
case "Beautiful":
QualitySettings.SetQualityLevel(QualityLevel.Beautiful);
break;
case "Fantastic":
QualitySettings.SetQualityLevel(QualityLevel.Fantastic);
break;
}
break;
case ButtonAction.IncQuality:
QualitySettings.IncreaseLevel();
break;
case ButtonAction.DecQuality:
QualitySettings.DecreaseLevel();
break;
case ButtonAction.SetResolution:
Screen.SetResolution ( int.Parse(parameter.Substring(0,parameter.IndexOf("x"))), int.Parse(parameter.Substring(parameter.IndexOf("x")+1)), Screen.fullScreen);
break;
case ButtonAction.OpenURL:
Application.OpenURL(parameter);
break;
case ButtonAction.CloseEverything:
GetGUIManager().gameObject.SetActive(false);
break;
case ButtonAction.Resume:
Time.timeScale = 1;
transform.parent.gameObject.SendMessage("Disable");
break;
case ButtonAction.ShowAnother:
if(actionRecipient) actionRecipient.GetComponent(EGUI_Element).SetActivation(true, transform.parent.gameObject);
break;
case ButtonAction.ShowPrevious:
if(senderObject) senderObject.SetActive(true);
break;
case ButtonAction.HideThis:
transform.parent.gameObject.SendMessage("Disable");
break;
case ButtonAction.HideThis_ShowAnother:
if(actionRecipient) actionRecipient.GetComponent(EGUI_Element).SetActivation(true, transform.parent.gameObject);
transform.parent.gameObject.SendMessage("Disable");
break;
case ButtonAction.HideThis_ShowPrevious:
if(senderObject) senderObject.SetActive(true);
transform.parent.gameObject.SendMessage("Disable");
break;
case ButtonAction.SoundSwitch:
if(actionRecipient) actionRecipient.GetComponent(AudioListener).enabled = !actionRecipient.GetComponent(AudioListener).enabled;
break;
}
}
//----------------------------------------------------------------------------------------------------
}