我试图让玩家按下按钮时传送带扭转方向。用GetComponent C编辑变量#
下面是传送带
using UnityEngine;
using System.Collections;
public class Conveyor : MonoBehaviour {
public float speed = 1.0f;
void OnTriggerStay(Collider col)
{
col.transform.position += transform.forward * speed * Time.deltaTime;
}
}
的代码和按钮的代码
public class PushButton : MonoBehaviour
{
public GameObject Button;
private Conveyor conveyor;
void Awake()
{
conveyor = GetComponent<Conveyor>();
}
void OnTriggerStay(Collider entity)
{
if (entity.tag == "Player")
{
if (Input.GetKeyUp(KeyCode.E))
{
conveyor.speed = conveyor.speed * -1;
}
}
}
}
我得到一个错误说“对象未设置为一个对象按钮的实例.OnTriggerStay(Unity Engine.Collider实体)(在Assests/PushButton.cs21)
我还不是很熟悉使用getComponent,所以我不知道如何解决这个问题。不胜感激。
注意“public GameObject Button”变量必须是小写字母,所以它会是“按钮”。另外请注意,Unity中有一个叫做“Button”的东西,所以你可能不会使用它。例如,将其称为“topLeftRedButton” – Fattie