Как перейти от одной сцены к другой, глядя на объект в единстве?
Я разрабатываю приложение, используя Unity
где я создал два Scene
's. если пользователь смотрит на объект в Scene 1
это должно идти к Scene 2
, У меня есть код ниже, но я получаю ошибки.
ИСХОДНЫЙ КОД:-
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class time : MonoBehaviour {
public float gazeTime = 2f;
private float timer;
private bool gazedAt;
// Use this for initialization
void Start () {
}
void update(){
if (gazedAt)
{
timer += Time.deltaTime;
if (timer >= gazeTime)
{
Application.LoadLevel (scenetochangeto);
timer = 0f;
}
}
}
public void ss(string scenetochangeto)
{
gameObject.SetActive (true);
}
public void pointerenter()
{
//Debug.Log("pointer enter");
gazedAt = true;
}
public void pointerexit()
{
//Debug.Log("pointer exit");
gazedAt = false;
}
public void pointerdown()
{
Debug.Log("pointer down");
}
}
2 ответа
Решение
Вы должны инициализировать ваши переменные с правильными значениями и использовать менеджер сцены для загрузки новой сцены следующим образом:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.EventSystems;
public class time : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler {
public float gazeTime = 2f;
private float timer = 0f;
private bool gazedAt = false;
// Use this for initialization
void Start () {
}
void Update(){
if (gazedAt)
{
timer += Time.deltaTime;
if (timer >= gazeTime)
{
SceneManager.LoadScene("OtherSceneName");
timer = 0f;
}
}
}
public void ss(string scenetochangeto)
{
gameObject.SetActive (true);
}
public void OnPointerEnter(PointerEventData eventData)
{
//Debug.Log("pointer enter");
gazedAt = true;
}
public void OnPointerExit(PointerEventData eventData)
{
//Debug.Log("pointer exit");
gazedAt = false;
}
}
Изменить "OtherSceneName"
с названием сцены, которую нужно загрузить (scenetochangeto
).
Вы не указали ошибки, которые получили, но обратите внимание: Update()
это "специальная" функция движка Unity, для которой требуется заглавная буква U. Она никогда не будет работать так, как сейчас.