unity複数のButtonにクリックイベントを追加

1670 ワード

1.ボタンのプリフォームに掛けるための次のコードを書きます.
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System;
/// 
///  Button 
/// 
public class LevelButtonEvent : MonoBehaviour {
    // ID
    public int id; 
    private Button btnLevel;
    // Button
    public Button BtnLevel
    {
        get { return btnLevel ?? GetComponent

2.Buttonプリフォームがインスタンス化されたときにIDに値を付け、同時にボタンクリックイベントをリスニングする
    /// 
    ///  
    /// 
    public void LoadSelectButton( )
    {
        // Button 
        GameObject LevelIcon = Resources.Load("Icon/Level");
        for (int i =0; i < 10; i++)
        {
            // 
            GameObject Btn = Instantiate(LevelIcon);
            // Button ( Add)
            LevelButtonEvent LevelButtonNum = Btn.GetComponent();
            // Button ID 
            LevelButtonNum.id = (i + 1);
            // 
            LevelButtonNum.onLevelButtonOnClick += LevelButtonNum_onLevelButtonOnClick;  
        }        
    }
    
    /// 
    ///  
    /// 
    /// 
    private void LevelButtonNum_onLevelButtonOnClick(int obj)
    {
         Debug.Log(" "+obj);
    }