0
我該如何去做一個預製的門和鑰匙,而鑰匙只能打開它被拖入的門,而不是其他的門,如果我有一個以上的預製件。如何使門和關鍵預製統一?
所以,而不是我用作爲一個例子,我有鑰匙與其他物體相互作用前門。水,岩石,葡萄藤是「門」。
public List<GameObject> rockList = new List<GameObject>();
// Use this for initialization
private void Start()
{
anim = GetComponent<Animator>();
isMounted = false;
water = GameObject.Find("water");
freezeWaterKey = GameObject.Find("freezeWaterKey");
moveRockKey = GameObject.Find("moveRockKey");
rock = GameObject.Find("rock");
waterBoundary = GameObject.Find("golemBoundary");
moveRockKey = GameObject.Find("moveRockKey");
vine = GameObject.Find("Vines");
vineKey = GameObject.Find("key_vine");
}
private void OnTriggerStay(Collider other)
{
if (Input.GetKeyDown(KeyCode.E) && (other.tag == "Golem") && (isMounted == false))
{
isMounted = true;
//Change the Name of instantiated Clone
GameObject mountedGolemClone =
Instantiate(mountedGolem, golem.transform.position, golem.transform.rotation) as GameObject;
mountedGolemClone.name = "mountedGolem";
Destroy(mage);
Destroy(golem);
}
if (Input.GetKeyDown(KeyCode.C) && !freezeWaterKey && (other.tag == "waterTrigger"))
{
Renderer rend = water.GetComponent<Renderer>();
rend.material = frozenWaterMaterial;
Destroy(waterBoundary);
}
if (Input.GetKeyDown(KeyCode.C) && !moveRockKey && (other.tag == "rockTrigger"))
{
rb.AddForce(transform.right*-1*rockThrust);
Debug.Log("force");
}
if (Input.GetKeyDown(KeyCode.C) && !vineKey && (other.tag == "vineTrigger"))
{
Destroy(vine);
}
}
而不是隻是要求回答,你爲什麼不先給它一個去。我建議看一下標籤以幫助您入門。 –
我現在正在研究它,因爲每個門和鑰匙預製件都有相同的標籤,然後一個鑰匙可以打開帶有預製件多個實例的任何門。 – Spooge19
我只希望能夠拖放一個包含門和鑰匙的預製件,並且只能使用該門而不是相同預製件的其他實例。 – Spooge19