Long Press(长按功能)
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();public void Tick(bool input){// StartTimer(extTimer, 1.0f);extTimer.Tick();//推进delayTimer.Tick();curState = input;IsPressing = curState;OnPressed = false;OnReleased = false;IsExtending = false;IsDelaying = false;if (curState != lastState){if(curState ==true ){OnPressed = true;StartTimer(delayTimer, delayingDuration);}else{OnReleased = true;StartTimer(extTimer, extendingDuration);}}lastState = curState;if (extTimer.state == MyTimer.STATE.RUN){IsExtending = true;}if(delayTimer.state == MyTimer.STATE.RUN){IsDelaying = true;}}private void StartTimer(MyTimer timer,float duration){timer.duration = duration;timer.Go();}
}
修改joystickinput:
run =( buttonA.IsPressing&& !buttonA.IsDelaying) || buttonA.IsExtending ;jump = buttonA.OnPressed&&buttonA .IsExtending;
新增roll判断条件:
IUserInput:增加publick bool roll
有了roll判断条件的时候ground到roll动画的判断条件就要进行修改(只要一个roll判断);ground到jab的判断也只需要一个roll;在切换jab的时候增加时间判断当forward小于0.1的时候是后跳jab;这样实现了没有方向的时候是后跳而有方向的时候会是翻滚。
Long Press(长按功能)相关推荐
- android 截长图 方法,Android实现截屏与截长图功能
本文实例为大家分享了Android实现截屏与截长图功能展示的具体代码,供大家参考,具体内容如下 Demo在GitHub的地址:ScreenShoot 在Android开发中,有时候会遇到需要截屏分享到 ...
- Z-Stack通过按键中断实现长按功能
一.功能介绍 项目需要实现长按功能,实现按键有2种方式,一种是通过中断.一种KEY_CHANGE事件轮询的方式.由于中断更加的灵敏,这里选择中断的方式.意外的发现,如果开启了中断,那么按键就不会触发K ...
- 腾讯测试王者荣耀网速的软件,腾讯游戏启用账号时长共享功能 开启人脸识别测试有效果吗?以《王者荣耀》为试点...
腾讯游戏启用账号时长共享功能 开启人脸识别测试有效果吗?以<王者荣耀>为试点 2018-11-16 14:22:35 来源:游民星空 扫码可以: 1.在手机上浏览 2.分享给微信好友或朋 ...
- 百度免费开放长语音识别功能
近日,百度AI开放平台向开发者免费开放长语音识别功能,通过SDK调用服务,可将长语音转换为文字.据了解,新版本SDK解除了对时间的限制,开发者无需再将长语音切割成60秒以内的分段,进行调用,提升了转写 ...
- 京东商品长图功能来啦 不用改图一键生成长图
产品是吸引顾客购买的关键,想要提升店铺转化率产品主图优化必不可少?首先基础优化是在设计主图的时候就要注意产品突出,使用场景来设计,根据产品的特点突出卖点,文案搭配要起到辅助的效果等等. 关于主图设计和 ...
- Android实现截屏和截长图功能的几种方法
一般情况下各种型号的手机都会有自带的截屏功能,也会有诸如"开关机键+音量键"的截屏快捷键,只要手机是亮屏状态,都会将手机屏幕的可视区域(包含状态栏)全部截取下来. 如果开发中想要调 ...
- import java.io后报错_用JSP+JAVABEAN实现一个根据圆半径求圆面积、圆周长的功能:为什么我的老出错啊错误:...
用JSP+JAVABEAN实现一个根据圆半径求圆面积.圆周长的功能:为什么我的老出错啊错误: 圆的半径是: 圆的面积是: 圆的周长是: package tools; import java.io.*; ...
- Android 实现截屏和截长图功能的几种方法
欢迎大家关注我的公众号:**牛角尖尖上起舞** 一般情况下各种型号的手机都会有自带的截屏功能,也会有诸如"开关机键+音量键"的截屏快捷键,只要手机是亮屏状态,都会将手机屏幕的可视区 ...
- 鸿蒙TouchEvent已实现单击、连续、长按功能,安卓也可以模仿着原理实现(网上绝大多未实现不动长按),这个支持不动长按事件
原创文章引用请注明出处,文章问题持续优化中. 以下的例子是模仿抖音的刷视频的单击播放.暂停,长按弹出框,连续点击是点赞的效果.连续点击视频时候,视频处于播放或者暂停是不会击穿事件导致视频播放或者暂停的 ...
最新文章
- uboot的作用和功能
- BCH粉必转 | 围绕BCH建立的相关项目和应用列表汇总
- 读书笔记《鸟哥的Linux私房菜-基础学习篇》man page 查询数据后数字的意思
- Java程序员的日常—— Arrays工具类的使用
- java实现apriori算法_七大经典、常用排序算法的原理、Java 实现以及算法分析
- 45岁码农用不到2年时间撸出100款扑克游戏
- mysql run sql files_如何在Eclipse DTP中運行多個.sql文件
- 通过jQuery源码学习javascript(三)
- 巡回沙龙_美浮特全国巡回沙龙第一期结束撒花!
- 前端学习(2746):uniapp--基本介绍
- 白盒测试中的六种覆盖方法及案例分析
- linux shell中实现循环日期的实例代码
- 用ASP.NET刷新页面的几种有效方法
- weblogic设置classpath、debug端口和log目录
- GameEntity(六)—— IChat
- CentOS 7之Systemd详解之服务单元设置system.service
- 计算机毕业设计springboot微信小程序购物商城源码
- 锐捷交换机堆叠配置实例
- 团队建设的不同阶段与管理方式
- html 获取页面高度css,css怎么获得屏幕的高度?