我正在为我的项目使用NGUI,我不知道如何编写从NGUI按钮创建的按钮。我知道的唯一代码是。:
void OnMouseDown
Application.loadlevel(1);
但是它没有在NGUI按钮中工作,我想在点击“开始”按钮时转到下一个场景。有人可以帮我解决这些简单的问题吗?我很抱歉问我的这个小问题,我只是一个学生和初学者,我希望你理解!提前谢谢你。
答案 0 :(得分:1)
尝试这样的事情:(C#剧本)
using UnityEngine;
using System.Collections;
public class SceneButton: MonoBehaviour {
public string targetScene; //Scene name
void Start(){
UIEventListener.Get(gameObject).onClick += OnButtonClick;
}
void OnButtonClick(GameObject g){
Application.LoadLevel(targetScene);
}
}
请记住,附加元素必须位于NGUI Root中......并且需要一个Collider。
答案 1 :(得分:0)
对于NGUI中需要对用户输入做出反应的任何UI元素,请将NGUIButtonMessage脚本附加到对象。对象必须具有碰撞器才能使此脚本正常工作。在该脚本中,您可以告诉它何时触发它。一些示例是单击对象时或刚刚按下或释放它时。然后脚本的下一个属性是方法或函数名称。这是您要在脚本中调用的方法的名称。脚本中的方法名称必须与NGUIButton消息的方法/函数名称字段中的方法名称相匹配。最后一个属性是触发器对象。这是脚本所在的对象。例如,如果要处理单击的方法名称称为OnSubmitBttnClicked,并且目标是附加了按钮消息的同一游戏对象,则该游戏对象中应该至少有一个脚本包含具有此类的方法名称。请记住,如果同一对象中存在多个具有相同名称的方法,则将调用所有方法。以下是OnSubmitBttnClicked示例的方法签名示例:
private void OnSubmitBttnClicked()
{
}
您也可以使用
//The parameter clickedBttn is the object that contains the button message component
private void OnSubmitBttnClicked(GameObject clickedBttn)
{
}
保护程度无关紧要。你可以使用私人公共或受保护,它仍然会被调用。
希望这有帮助。
答案 2 :(得分:0)
只需使用void OnClick(){ 而不是OnMouseDown.It将起作用。
答案 3 :(得分:0)
void OnClick()
{
Application.LoadLevel(1);
}