c#Unity2D处理多个背景
问题描述:
我想在Unity2D
中制作一个场景,其背景名为Stone,Scissors和Paper。这3个是相对较小的背景。我也有一个像壁纸一样的屏幕大小背景。c#Unity2D处理多个背景
现在,我在这3个背景之外放置了一个Button
,并且当我按下该按钮时,我想在它们之间切换。我的意思是有一个按钮,现在让我们说石头背景是可见的,其他2不是,当我按下按钮时,石头背景应该消失,纸张背景应该是可见的。当我在这种情况下再次击中同一个按钮时,纸张背景应该消失,剪刀背景应该可见。之后,如果我按下该按钮,循环应该再次返回到石背景。
我希望我解释正确。我怎样才能做到这一点?感谢提前:)
编辑:我写了这个代码,它给NullReferenceException
在29行
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class NextCountry : MonoBehaviour {
MainGame game;
public GameObject stone;
public GameObject paper;
public GameObject scissors;
// Use this for initialization
void Start() {
game = MainGame.getInstance();
stone = GameObject.Find("StoneView");
paper = GameObject.Find ("PaperView");
scissors = GameObject.Find ("ScissorsView");
}
public void OnBackgroundChange(string next)
{
if (next == "paper")
{
stone.SetActive(false);
paper.SetActive(true);
scissors.SetActive(false);
}
}
}
答
好,你可以做这样的 地方三个到场景,当你点击按钮使你想要显示的那个transform.position.z等于0,其他2使它像100或其他东西..这样,他不可能看到它们:P,因为你有3个背景这应该工作正常 还有另一种方式它有点复杂,所以如果这不起作用我会给你另一个在评论或东西
谢谢。但问题是,我怎样才能从同一个脚本中获得这3个背景?如果我能联系到他们,我也可以使用“isHidden”。 – kalahari 2014-12-03 17:10:06
哦,是的,你是对的,你可以使用isHidden你不能用GameObject.find(“场景中的名字”)达到他们; – 2014-12-03 18:14:09
我编辑了问题 – kalahari 2014-12-03 18:39:51