ugui用户定义操作按键

Posted 懒人起烂命

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ugui用户定义操作按键相关的知识,希望对你有一定的参考价值。

界面很简单,只创建了一Image,Image下边有一个Text。基本思路是点击Image,Text清空,进入修改状态,然后用户按下任意键,按下的任意键极为修改后的键

然后下面的脚本是挂在Image下面的

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

public class ChangeButton : MonoBehaviour, IPointerClickHandler
{

    private KeyCode defult = KeyCode.A;
    private bool willchange;
    // Use this for initialization
    void Start()
    {
        if (GetComponentInChildren<Text>().text != defult.ToString().ToUpper())
        {
            GetComponentInChildren<Text>().text = defult.ToString().ToUpper();
        }
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(defult))
        {
            Debug.Log(defult + "被按下");
        }
    }
    void OnGUI()
    {
        GUI.Label(new Rect(10, 10, 300, 30), "当前按键为:" + defult.ToString().ToUpper());
        if (willchange)
        {
            GUI.Label(new Rect(10, 50, 300, 30), "按任意键修改按键");

            if (Input.anyKeyDown)
            {
                Event e = Event.current;
                Debug.Log(e.keyCode);
                Debug.Log(e);
                if (e.isKey)
                {
                    defult = e.keyCode;
                    GetComponentInChildren<Text>().text = defult.ToString().ToUpper();
                    willchange = false;
                }
            }
        }
    }

    public void OnPointerClick(PointerEventData eventData)
    {
        willchange = true;
        GetComponentInChildren<Text>().text = "";
    }
}

  

以上是关于ugui用户定义操作按键的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode 如何操作用户自定义代码片段(快捷键)

Unity2017.1官方UGUI文档翻译——Text

VSCode自定义代码片段——CSS选择器

VS code自定义用户代码片段snippet