我正在做一个像消防员一样的游戏,我有一个场景,机器因电力着火,第一个玩家必须关掉电源,所以我按下按钮并显示按o关掉电但是我我无法破坏电力对象,这是我到目前为止所做的代码,但没有什么好的。
using UnityEngine;
using System.Collections;
public class SwitchONOFF : MonoBehaviour {
public Transform Player;
public Texture texture;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void OnGUI () {
float distance = Vector3.Distance(Player.position, transform.position);
if(distance<2 )
{
GUI.DrawTexture (new Rect (600, 150, 200, 100), texture, ScaleMode.StretchToFill, false);
if (Input.GetKey (KeyCode.O)) {
Destroy (gameObject.tag="chin");// here i want to destroy object with a tag of "chin", but how
}
}
}
答案 0 :(得分:3)
使用OnGUI
并使用GameObject
搜索tag
而不是在Start
函数中缓存GameObject时,您已经犯了这个错误。要使当前代码生效,只需将Destroy (gameObject.tag="chin");
替换为
Destroy(GameObject.FindWithTag("chin"));
或
Destroy(GameObject.FindGameObjectWithTag("chin"));