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 = "";
    }
}

  

时间: 2024-12-29 06:56:17

ugui用户定义操作按键的相关文章

C#编程(四十一)----------用户定义的数据类型转换

用户定义的数据类型转换 C#允许定义自己的 数据类型,这意味着需要某些 工具支持在自己的数据类型间进行数据转换.方法是把数据类型转换定义为相关类的一个成员运算符,数据类型转换必须声明为隐式或者显式,以说明怎么使用它. C#允许用户进行两种定义的数据类型转换,显式和隐式,显式要求在代码中显式的标记转换,其方法是在原括号中写入目标数据类型. 对于预定义的数据类型,当数据类型转换时可能失败或者数据丢失,需要显示转换: 1.把int数值转换成short时,因为short可能不够大,不能包含转换的数值.

应用C#和SQLCLR编写SQL Server用户定义函数

摘要: 文档阐述使用C#和SQLCLR为SQL Server编写用户定义函数,并演示用户定义函数在T-SQL中的应用.文档中实现的 Base64 编码解码函数和正则表达式函数属于标量值函数,字符串分割函数属于表值函数,而平方平均数函数属于聚合函数. 环境 要求:SQL Server 2005/2008,Visual Studio 2005/2008,C# 2.0. 本页内容 概述 启用SQLCLR Base64 编码解码函数 正则表达式函数 字符串分割函数 平方平均数函数 总结 概述 微软在推出

Aerospike C客户端手册———用户定义函数—应用UDF到记录

应用UDF到记录 Aerospike C客户端API提供aerospike_key_apply()来应用一个用户定义函数到数据库中某记录. 在使用aerospike_key_apply()操作前,包含被应用函数的UDF模块,必须首先注册到Aerospike服务器.请参见[注册用户定义函数]章节来学习如何使用C API注册,或阅读[aql手册]学习如何使用外部工具注册. 下面的代码引用自示例目录[examples/basic_examples/get],由Aerospike C客户端安装包自带.

AUTH 用户管理操作

AUTH的实现是用抽象类来实现的,一个类,对应多种不同的验证方式. 先来介绍一个抽象类,很有借鉴意义: 实现一个猴子类,狗类,以及后面可其他类. 通常可以用抽象类和接口实现: 但是我们不直接定义具体的类,我们把所有猴子类,狗类的特征放在不同的config里面,同过抽象类方法来 初始话一个对象. config.php 1 <?php 2 return array( 3 'driver'=>'monkey',//调用那个类. 4 'index'=>'Ani',//其他. 5 ); confi

SQLServer更改用户定义的数据库角色

更改用户定义的数据库角色注意事项 需具有以下一项或多项权限或成员身份才能运行此命令: 对角色具有 ALTER 权限 对数据库具有 ALTER ANY ROLE 权限 具有 db_securityadmin 固定数据库角色的成员身份 此外,若要更改固定数据库角色中的成员身份还需要: 具有 db_owner 固定数据库角色的成员身份 不能更改固定数据库角色的名称. 使用SSMS数据库管理工具更改用户定义的数据库角色 1.连接数据库->选择数据库->展开安全性->展开角色->展开数据库角

防止用户误操作退出APP的处理

/** * 软件退出的处理:先跳到第一个页面,再点提示“再点一次退出”,2秒内再点一次退出 * 防止用户误操作 */ private boolean isExist=false; private Handler handler = new Handler(); @Override public boolean onKeyUp(int keyCode, KeyEvent event) { if(keyCode==KeyEvent.KEYCODE_BACK){ if(position!=0){ rg

ylbtech-LanguageSamples-UserConversions(用户定义的转换)

ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-UserConversions(用户定义的转换) 1.A,示例(Sample) 返回顶部 “用户定义的转换”示例 本示例演示如何定义与类或结构之间的转换,以及如何使用此类转换.有关更多信息,请参见转换运算符(C# 编程指南) . 安全说明 提供此代码示例是为了阐释一个概念,它并不代表最安全的编码实践,因此不应在应用程序或网站中使用此代码示例.对于因将此代码示例用于其他用途而出现的偶然或

c++11: 用户定义字面量

c++11带来了很多新特性,其中用户定义字面量就是一个. 注:该特性vs2013不支持, vs2014和gcc4.9支持.这里推荐一个在线的c++编译网站,用来测试一些代码还是蛮有用的,并且它支持超多的语言像python.lua等都支持.网址在这里 http://ideone.com/ 先看下面的代码: #include <iostream> using namespace std; struct Color { int r, g, b; }; //定义的字面量转换函数 //在gcc编译器下注

回调函数,用户定义的排序规则

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>范例6-3</title>