首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Unity中,当在第一个场景上点击按钮时,加载另一个场景

在Unity中,当在第一个场景上点击按钮时,加载另一个场景
EN

Stack Overflow用户
提问于 2015-06-22 01:08:03
回答 3查看 13K关注 0票数 1

我已经创建了两个场景,如果场景一上的button1被点击,我想加载场景二。我已经在谷歌上搜索了这个问题,阅读了unity文档,但我只找到了这个

代码语言:javascript
复制
   Application.LoadLevel("SceneTwo");

我试着使用这个,但是我的第二个场景没有点击第一个场景上的按钮就加载了。这是我目前第一个场景的代码

代码语言:javascript
复制
    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“是第二个场景。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-06-22 09:43:06

  1. 创建图形用户界面按钮。
  2. 编写用于级别更改的公共函数脚本。如下例所示。

使用UnityEngine;使用System.Collections;公共类优先: MonoBehaviour { public void GoToLevel(string level) { Application.LoadLevel (level);}}

  • 设置您的图形用户界面按钮的OnClick方法。我在canvas中使用了我的脚本,你可以在任何对象中使用。

你也可以看unity scene selection tutorial

票数 2
EN

Stack Overflow用户

发布于 2016-10-31 09:31:32

Application.LoadLevel (level);已过时。

可以改用SceneManager.LoadScene()

票数 2
EN

Stack Overflow用户

发布于 2015-06-22 01:26:13

这是对Application.LoadLevel() functionality的完全错误的使用。但这并不是唯一的问题。Unity脚本中的Start()在创建附加了此脚本的对象时调用一次。每一帧都会调用Update(),这意味着现在你正在请求unity加载你的第二层,直到它“崩溃”。

要修复此功能,应通过将此脚本附加到要单击的对象来创建可单击对象

代码语言:javascript
复制
 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");
 }  

当然,你还需要给你想要点击的对象添加一个对撞机

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30967147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档