gpt4 book ai didi

c# - UI 按钮上的 onClick 监听器委派

转载 作者:行者123 更新时间:2023-11-30 20:44:25 24 4
gpt4 key购买 nike

所以自从 4.6 统一使用新的 UI 系统以来,我从未使用过。直到现在。

我想做的是以动态方式生成按钮,因此我还必须以动态方式(或至少通过脚本编写)添加 onClick 事件。

我已经尝试扩展 onClick 监听器,但它不想工作:

btn.GetComponent<Button>().onClick.AddListener(() => { placeBuilding(obj.name); });

它会给出这个错误,听起来很清楚哪里出了问题:

Assets/Scripts/Menu/btnBouwen.cs(72,45):错误 CS0119:表达式表示“方法组”,其中需要“变量”、“值”或“类型”

但是我不知道如何使用 UnityAction,因为它似乎是调用所需的类型。

感觉好像我错过了一些非常简单的东西。希望有人能帮助我。

亲切的问候,Nkmol

最佳答案

好吧,我有一些工作,可能适合您的需要。

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class MainLab : MonoBehaviour, IPointerClickHandler {

// Use this for initialization




void Start () {

}



public void OnPointerClick(PointerEventData eventData)
{

Debug.Log("Hello");
}
}

在此我们添加了 UnityEngine.EventSystems,然后添加了接口(interface) IpointerClickHandler。仅供引用,您还可以添加拖动或您可能想要的任何界面。

然后只是和方法接口(interface)。右键单击 IPinterClickHandler,然后选择 Implement Interface 以检查它还有哪些其他方法。

您需要将其附加到游戏对象。任何游戏对象。包括按钮。

所以动态地在您的按钮列表中,您想要将其添加为一个组件。添加组件();出于测试目的,我将我的类(class)称为 MainLab。

关于c# - UI 按钮上的 onClick 监听器委派,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29414765/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com