问题来源:在开发斗地主时,想到腾讯出版的斗地主在手指按住扑克牌掠过的时候,被掠过的纸牌都被选中向上移动,所以在我的项目中尝试实现当某按键按下掠过纸牌,实现多选的这种功能

解决办法:
(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组件实现多选相关推荐

  1. Unity UGUI Button 中文详解-Chinar

    Chinar blog :www.chinar.xin Unity UGUI 完整系列教程 (Chinar中文图解) Unity UGUI Button 组件 本文提供全流程,中文翻译. Chinar ...

  2. 【Python】Label组件 Button组件 Checkbutton组件

    Label组件 Label组件是用于在界面上输出描述的标签. #导入tkinter模块所有内容 from tkinter import *#创建一个主窗口,可以容纳整个GUI程序 root = Tk( ...

  3. button组件 untiy_Unity自定义Button组件Transition

    Unity自带的Button组件有三种不同的Transition(过渡)选项,分别是None, ColorTint, SpriteSwap, Animation.现在想自定义其他功能,比如在不同的状态 ...

  4. Sprite组件和Button组件的使用

    一.Sprint组件的使用 1.游戏中显示一张图片,通常我们称之为"精灵" sprite 2.cocos creator如果需要显示一个图片,那么需要在节点上挂一个精灵组件,为这个 ...

  5. unity获取脚本组件_王者荣耀是怎样炼成的(三)unity组件与脚本

    上回书说到了unity的基本操作.这回我们来侃侃unity中的组件与脚本. 目录结构 一.组件与脚本简介 1.组件 组件(Component),顾名思义,就是游戏物体的组成部件. 这和我们对现实生活的 ...

  6. Unity自定义UI组件(六)日历、日期拾取器

    前言 考虑到工业项目中可能会利用到类似日历的工具,就比如选取某个时间节点,所以我结合UGUI源码开发了日历工具和日期拾取器工具,简单易用,接口齐全,可中文显示,外观可自定义.只需要导入脚本,即可在Hi ...

  7. 【封装UI组件库】手把手教你仿一下Element-ui的Button组件(发布至npm)

    所谓UI组件库,就是封装了平常项目开发中经常会使用的页面组件,发布至npm库中作为插件供项目组成员及其他开发者使用(不发布也行),目的就是为了避免多次重复劳动. 以插件的形式使用可以做到即插即用,非常 ...

  8. element-ui button组件 radio组件源码分析整理笔记(一)

    Button组件 button.vue <template><buttonclass="el-button"@click="handleClick&qu ...

  9. 【鸿蒙 HarmonyOS】UI 组件 ( Button 组件 )

    文章目录 一.布局文件中设置 Button 组件属性 二.代码中修改 Button 组件属性 三.Button 点击事件 四.完整代码示例 五.执行结果 六.GitHub 地址 一.布局文件中设置 B ...

最新文章

  1. 线程池之ScheduledThreadPool学习
  2. Node.js的核心与红利
  3. 大数据时代的数据挖掘
  4. ABAP物料仓位扩充
  5. linux module原理,NodeJS的模块原理
  6. 铁拳nat映射_铁拳如何重塑我的数据可视化设计流程
  7. 如何通过数据分析鉴别假微博大V?
  8. c 普通的文本变成注释文本的快捷键_phpstrom 快捷键,记一下记一下!(life)
  9. 也写Jquery插件,拖动布局
  10. 查看Linux root disk,linux查看硬盘4K对齐方法
  11. smartphone软件的安装方法
  12. 流媒体协议(二):RTMP协议
  13. FastReport产品介绍及免费下载地址
  14. 32位计算机的字长是多少个字节,32位计算机中,一个字长等于多少个字节
  15. 请问大家如何用MATLAB绘制四元函数图像
  16. 统计字符个数怎么用c语言写,请问这个用c怎么做:输入一串字符,分别统计其中数字和字母的个数...
  17. 序列号 java_JAVA序列号的serialVersionUID
  18. 科学健身,锻炼身体,增长肌肉
  19. linux minicom centos,Centos6.5 minicom安装与配置
  20. opencv 二维码定位

热门文章

  1. python对重复数据进行合并求和
  2. 抽象数据类型与计算机内部表示和实现无关,实验02 抽象数据类型的表示与实现.doc...
  3. 移动问卷调查、企业问卷调查解决方案
  4. 关于无法用输入法拼写的生僻字处理方法
  5. Android 将Android项目打包成aar文件并在其他项目中引用,打包成jar包
  6. Loj10172 涂抹果酱
  7. 利用WPF InkCanvas水墨控件圈选移动笔画
  8. 【操作系统】操作系统知识点学习与整理
  9. 层析成像算法 matlab,基于Matlab平台GUI的地震走时层析成像快速实现.pdf
  10. 螺杆机过热保护php,螺杆式空压机出现过热现象的三大因素