所以我在imageTarget上有2个对象,我为它们添加了一个盒子对撞机。我还为他们添加了一个不同的标签。我想要它,这样如果你点击其中一个,它会带你到另一个场景,其中包含有关该对象的信息。 这是我的代码:
using System.Collections;using System.Collections.Generic;
using UnityEngine;
using Vuforia;
using System.IO;
public class ObjectInfo : MonoBehaviour
{
public GameObject Eagle;
public GameObject LibertyStatue;
// Use this for initialization
void Start ()
{
Eagle = GameObject.Find ("Eagle");
LibertyStatue= GameObject.Find ("LibertyStatue");
//Eagle.SetActive (true);
//LibertyStatue.SetActive (true);
}
// Update is called once per frame
void Update ()
{
if (Input.GetMouseButtonDown (0))
{
Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
if(hit.collider.tag == "Eagle");
{
ChangeScene ("EagleInfoScene");
}
if(hit.collider.tag == "LibertyStatue");
{
ChangeScene ("LibertyStatueInfoScene");
}
}
}
}
public void ChangeScene (string a)
{
Application.LoadLevel (a);
}
}
当我第一次添加其中一个对象时,它工作得很好,现在添加新对象和新场景后,两个对象都会更改为新场景。因此,单击鹰和自由雕像会将场景更改为LibertyStatueInfoScene。有办法解决这个问题吗?
解决了:哇我真傻,问题是我的if语句后面有分号,它没有给我一个错误所以我从来没有注意到它。
答案 0 :(得分:1)
解决方案:我没有注意到if语句后面的分号,删除它们就解决了它。奇怪的是它并没有给我一个错误。