Long Press(长按功能)

本文介绍了如何在编程中实现长按功能,包括0.1秒延迟后的状态变化,以及与普通点击的区别。同时,文章还讨论了在用户输入模块中增加长按(roll)判断条件,调整动画触发逻辑,确保在没有方向输入时执行后跳动作,而在有方向时执行翻滚动作,从而优化用户交互体验。
摘要由CSDN通过智能技术生成

1.实现长按功能:当用户按下后0.1s内不会有变化,0.1s后变化然后和普通按同时还原。如下图(橘黄色IsDelaying区域为长按,红色为正常按击,紫色区域为判断双击区域)
在这里插入图片描述增加MyButton代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MyButton {
    /// <summary>
    /// 三种状态(缺省为false)
    /// </summary>
    public bool IsPressing = false;
    public bool OnPressed = false;
    public bool OnReleased = false;
    public bool IsExtending = false;//判断双击区域
    public bool IsDelaying = false;

    public float extendingDuration = 1.0f;//双击判断区域时常
    public float delayingDuration = 1.0f;//长按时间时长

    private bool curState = false;      //目前的状态
    private bool lastState = false;     //前一次状态

    private MyTimer extTimer = new MyTimer();
    private MyTimer delayTimer = new MyTimer();

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值