C# Unity-所有克隆对象的一个按钮
你好 我遵循了本教程: 在游戏中使用Instantiate()函数选择汽车会改变预制汽车,我想用UI按钮控制它们(油门、刹车等) 我有一个问题,按钮在新创建的克隆对象上找不到事件触发器(pointerDown,pointerUp),因为预置仍在更改 我有按钮,没有按键(如视频中所示),按钮找不到新创建对象的输入 我尝试使用一个固定在按钮上的脚本,使用OnPointerEnter()和OnPointerExit()来实现这一点,但它不起作用,我应该如何实现?如果您能给我答复,我将不胜感激,谢谢 统一版本2019.4.14f1C# Unity-所有克隆对象的一个按钮,c#,unity3d,C#,Unity3d,你好 我遵循了本教程: 在游戏中使用Instantiate()函数选择汽车会改变预制汽车,我想用UI按钮控制它们(油门、刹车等) 我有一个问题,按钮在新创建的克隆对象上找不到事件触发器(pointerDown,pointerUp),因为预置仍在更改 我有按钮,没有按键(如视频中所示),按钮找不到新创建对象的输入 我尝试使用一个固定在按钮上的脚本,使用OnPointerEnter()和OnPointerExit()来实现这一点,但它不起作用,我应该如何实现?如果您能给我答复,我将不胜感激,谢谢 统
public class GasButton : MonoBehaviour
{
public CarController controller;
private void Update()
{
controller = GameObject.FindGameObjectWithTag("Player").GetComponent<CarController>();
}
public void OnPointerEnter(PointerEventData eventData)
{
controller.GasPressed();
Debug.Log("Gas Pressed");
}
public void OnPointerExit(PointerEventData eventData)
{
controller.GasReleased();
Debug.Log("Gas Released");
}
公共类按钮:单行为
{
公共车辆控制员;
私有void更新()
{
controller=GameObject.FindGameObjectWithTag(“玩家”).GetComponent();
}
公共void OnPointerEnter(pointereventdataeventdata)
{
控制器;
调试日志(“气压”);
}
公共void OnPointerExit(pointereventdataeventdata)
{
controller.gasleased();
调试日志(“气体释放”);
}
OnPointerEnter
和OnPointerExit
应实现ipinterenterhandler
和ipinterexithandler
要在monobehavior中执行此附加接口,请执行以下操作
public class GasButton : MonoBehaviour,IPointerEnterHandler, IPointerExitHandler
{
public CarController controller;
private void Update()
{
controller = GameObject.FindGameObjectWithTag("Player").GetComponent<CarController>();
}
public void OnPointerEnter(PointerEventData eventData)
{
controller.GasPressed();
Debug.Log("Gas Pressed");
}
public void OnPointerExit(PointerEventData eventData)
{
controller.GasReleased();
Debug.Log("Gas Released");
}
公共类GasButton:MonoBehavior、IPInterenterHandler、IPInterexitHandler
{
公共车辆控制员;
私有void更新()
{
controller=GameObject.FindGameObjectWithTag(“玩家”).GetComponent();
}
公共void OnPointerEnter(pointereventdataeventdata)
{
控制器;
调试日志(“气压”);
}
公共void OnPointerExit(pointereventdataeventdata)
{
controller.gasleased();
调试日志(“气体释放”);
}
这解决了我的问题,非常感谢!