Unity-UI-按钮 按钮响应动画的尝试

UI按钮的多种响应方式

1. 效果描述

假设一个UI的多个按钮需要支持三种操作方式:

  • 鼠标操作
  • 键盘方向键操作
  • 移动端触摸操作

其中鼠标操作与键盘方向键操作时,会有一个选中的按钮变色的效果。
在这里插入图片描述

当使用键盘选中about按钮或者光标落在上面时,颜色变浅。

该效果实现的难点主要在鼠标与键盘两种操作方式上,移动端的触摸输入使用普通的按钮响应函数即可

2. 键盘方向键操作

在该操作模式下,会默认选中第一个Start Game按钮并使其变色,按上下键可以变更选中的按钮。

想要实现这种效果,我想到了使用双向循环链表,将三个按钮按顺序放入循环链表中,每次按下方向就到下一个节点的按钮,以此类推。

在C#中,可以使用LinkedList(双向链表)加一点小改动,就能成满足我们需求的双向循环链表,代码如下:

初始化双向循环链表:

//循环链表,里面装的是每个按钮的背景图片组件
private LinkedList<Image> startPageBtnImg;
//当前选中的链表节点
private LinkedListNode<Image> onBtnImg;
//普通按钮背景图片精灵
private Sprite btnBGSprite;
//被选中的按钮背景
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值