我已经创建了两个统一的场景,我想加载场景2如果单击场景1上的button1。我一直在谷歌搜索这个问题,阅读统一文档,但我只找到了这个
Application.LoadLevel("SceneTwo");
我已尝试使用此功能,但我的场景2只是加载而没有单击第一个场景上的按钮。 这是我的代码目前的第一个场景
using UnityEngine;
using System.Collections;
public class first : MonoBehaviour {
// Use this for initialization
void Start () {
Application.LoadLevel("MiniGame");
}
// Update is called once per frame
void Update () {
Application.LoadLevel("MiniGame");
}
}
我已将此脚本与我的第一个屏幕上的按钮和" MiniGame"是第二个场景。
答案 0 :(得分:2)
编写用于更改级别的公共函数脚本。如下例所示。
using UnityEngine;
using System.Collections;
public class first : MonoBehaviour
{
public void GoToLevel(string level)
{
Application.LoadLevel (level);
}
}
答案 1 :(得分:2)
Application.LoadLevel (level);
已过时。
可以改为使用SceneManager.LoadScene()
。
答案 2 :(得分:-1)
Application.LoadLevel() functionality使用完全错误。但这不是唯一的问题。 Unity脚本中的Start()在创建附加了此脚本的对象时调用一次。每帧调用Update(),这意味着你现在要求团结加载你的第二级数千次,直到它“崩溃”为止。
为了修复此功能,您应该通过将此脚本附加到要单击的对象来创建可单击对象
using UnityEngine;
using System.Collections;
public class first : MonoBehaviour
{
// Use this for initialization
void Start ()
{
}
void Update ()
{
}
void OnMouseDown()
{
// this object was clicked - do something
Application.LoadLevel("MiniGame");
}
当然,你需要在你想要点击的对象上添加一个对撞机