Unity使用Button组件实现多选
问题来源:在开发斗地主时,想到腾讯出版的斗地主在手指按住扑克牌掠过的时候,被掠过的纸牌都被选中向上移动,所以在我的项目中尝试实现当某按键按下掠过纸牌,实现多选的这种功能
解决办法:
(1)在扑克牌的预制体上移除Button脚本,新建一个脚本继承自Button
(2)在脚本重写Button脚本中的 protected override void DoStateTransition(SelectionState state, bool instant),参数state是当前按钮的状态,通过判断当前是否被掠过,然后处理扑克牌的上移操作,定义两个委托供外界注册,然后当鼠标处于掠过或按下时,调用对应的事件
public event Action HighlightedBtn;
public event Action PressedBtn;
protected override void DoStateTransition(SelectionState state, bool instant)
{
base.DoStateTransition(state, instant);
switch (state)
{
case SelectionState.Normal:
break;
case SelectionState.Highlighted:
if(HighlightedBtn!=null)
{
HighlightedBtn();
}
break;
case SelectionState.Pressed:
if(PressedBtn!=null)
{
PressedBtn();
}
break;
case SelectionState.Disabled:
break;
default:
break;
}
}
(3)在外界的脚本中,为两个委托注册事件,当鼠标在带有LearnButton的物体上掠过时,判断是否鼠标右键按下,若条件满足,则处理当前掠过的扑克牌上移,即可实现当鼠标右键按下在纸牌掠过时,纸牌被选中上移;另一委托注册按钮按下的响应事件
响应事件既是一个开关,判断是上移或回复原位
Unity使用Button组件实现多选相关推荐
- Unity UGUI Button 中文详解-Chinar
Chinar blog :www.chinar.xin Unity UGUI 完整系列教程 (Chinar中文图解) Unity UGUI Button 组件 本文提供全流程,中文翻译. Chinar ...
- 【Python】Label组件 Button组件 Checkbutton组件
Label组件 Label组件是用于在界面上输出描述的标签. #导入tkinter模块所有内容 from tkinter import *#创建一个主窗口,可以容纳整个GUI程序 root = Tk( ...
- button组件 untiy_Unity自定义Button组件Transition
Unity自带的Button组件有三种不同的Transition(过渡)选项,分别是None, ColorTint, SpriteSwap, Animation.现在想自定义其他功能,比如在不同的状态 ...
- Sprite组件和Button组件的使用
一.Sprint组件的使用 1.游戏中显示一张图片,通常我们称之为"精灵" sprite 2.cocos creator如果需要显示一个图片,那么需要在节点上挂一个精灵组件,为这个 ...
- unity获取脚本组件_王者荣耀是怎样炼成的(三)unity组件与脚本
上回书说到了unity的基本操作.这回我们来侃侃unity中的组件与脚本. 目录结构 一.组件与脚本简介 1.组件 组件(Component),顾名思义,就是游戏物体的组成部件. 这和我们对现实生活的 ...
- Unity自定义UI组件(六)日历、日期拾取器
前言 考虑到工业项目中可能会利用到类似日历的工具,就比如选取某个时间节点,所以我结合UGUI源码开发了日历工具和日期拾取器工具,简单易用,接口齐全,可中文显示,外观可自定义.只需要导入脚本,即可在Hi ...
- 【封装UI组件库】手把手教你仿一下Element-ui的Button组件(发布至npm)
所谓UI组件库,就是封装了平常项目开发中经常会使用的页面组件,发布至npm库中作为插件供项目组成员及其他开发者使用(不发布也行),目的就是为了避免多次重复劳动. 以插件的形式使用可以做到即插即用,非常 ...
- element-ui button组件 radio组件源码分析整理笔记(一)
Button组件 button.vue <template><buttonclass="el-button"@click="handleClick&qu ...
- 【鸿蒙 HarmonyOS】UI 组件 ( Button 组件 )
文章目录 一.布局文件中设置 Button 组件属性 二.代码中修改 Button 组件属性 三.Button 点击事件 四.完整代码示例 五.执行结果 六.GitHub 地址 一.布局文件中设置 B ...
最新文章
- 线程池之ScheduledThreadPool学习
- Node.js的核心与红利
- 大数据时代的数据挖掘
- ABAP物料仓位扩充
- linux module原理,NodeJS的模块原理
- 铁拳nat映射_铁拳如何重塑我的数据可视化设计流程
- 如何通过数据分析鉴别假微博大V?
- c 普通的文本变成注释文本的快捷键_phpstrom 快捷键,记一下记一下!(life)
- 也写Jquery插件,拖动布局
- 查看Linux root disk,linux查看硬盘4K对齐方法
- smartphone软件的安装方法
- 流媒体协议(二):RTMP协议
- FastReport产品介绍及免费下载地址
- 32位计算机的字长是多少个字节,32位计算机中,一个字长等于多少个字节
- 请问大家如何用MATLAB绘制四元函数图像
- 统计字符个数怎么用c语言写,请问这个用c怎么做:输入一串字符,分别统计其中数字和字母的个数...
- 序列号 java_JAVA序列号的serialVersionUID
- 科学健身,锻炼身体,增长肌肉
- linux minicom centos,Centos6.5 minicom安装与配置
- opencv 二维码定位
热门文章
- python对重复数据进行合并求和
- 抽象数据类型与计算机内部表示和实现无关,实验02 抽象数据类型的表示与实现.doc...
- 移动问卷调查、企业问卷调查解决方案
- 关于无法用输入法拼写的生僻字处理方法
- Android 将Android项目打包成aar文件并在其他项目中引用,打包成jar包
- Loj10172 涂抹果酱
- 利用WPF InkCanvas水墨控件圈选移动笔画
- 【操作系统】操作系统知识点学习与整理
- 层析成像算法 matlab,基于Matlab平台GUI的地震走时层析成像快速实现.pdf
- 螺杆机过热保护php,螺杆式空压机出现过热现象的三大因素