当前位置: 首页 > news >正文

答辩学网站开发知识能力要求wap网站一键生成app

答辩学网站开发知识能力要求,wap网站一键生成app,织梦网站开通在线投稿,网页设计和网站建设是同一回事吗最终效果 前言 我们要实现的功能是双击疾跑#xff0c;当玩家快速地按下同一个移动键两次时能进入跑步状态 我假设快速按下的定义为0.2秒内#xff0c;按下同一按键两次 简单的分析一下需求#xff0c;实现它的关键在于获得按键按下的时间#xff0c;我们需要知道第一次…最终效果 前言 我们要实现的功能是双击疾跑当玩家快速地按下同一个移动键两次时能进入跑步状态 我假设快速按下的定义为0.2秒内按下同一按键两次 简单的分析一下需求实现它的关键在于获得按键按下的时间我们需要知道第一次按下按键的时间然后判断规定时间内有没有按下按键 有两种实现方法 第一种 启动一个计时器判断在计时器结束之前有没有再次按下这个键 第二种 是分别记录下两次按键的时间然后用第二次按下的时间减去第一次按下的时间判断是否小于0.2 这里我采用第二种方法为了获取按下的时间我们需要使用到Unity给我们提供的Time类里面的Time.time会提供游戏启动到现在运行了多少秒这个需求还需要我们检测到按键是否被按下我打算使用Input Manager来实现 public static float GetAxis (string axisName); public static float GetAxisRaw(string axisName);GetAxisRaw会在检测到按键后,马上返回1或-1,松开按键后马上变成0 而GetAxis会在检测到按键的时候,从0过渡到1或-1,松开按键后再过渡到0 为了方便,我使用GetAxisRaw来获得输入的时间,当按键按下时意味着GetAxisRaw的返回值为1的绝对值,我们在符合条件的时候使用Time.time来获得当前的时间即可 但显然我们不希望玩家按下a后马上按下d还能让人物进入到疾跑状态所以两个按键的输入时间要分开存储还有一个需要注意的地方是当玩家开始走路或疾跑时a键或d键是按住不放的所以当玩家在移动的时候我们要使个bool变量为真当这个变量为真时就不再刷新输入的时间 我们设想一下,玩家进入游戏以后,马上按下了一次移动键,如果他电脑开游戏开的特别的快,他第一次按下移动键的时间,离打开游戏不到0.2秒,如果我们存储按键时间的变量,没有初始化,那么会默认赋值为0,当他第一次按下移动时就会进入到疾跑状态,这很明显是我们不想要看到的bug 所以最后一个要点是给存储按键时间的变量进行初始化,但初始化的只要赋值为多少也是一个值得考虑的问题如果赋值为一个极大的正数就算赋值为1万万一玩家一开始在挂机刚好在10,000.01秒按一下移动按键还是会错误地进入到疾跑状态所以可以给他赋值为负的最大等待输入时间如果实在不放心可以赋值为2倍这样第一次输入就不会出现bug 经过了这么多的分析相信你此时此刻已经完全明白了接下来我们进入到代码实战环节 开始 配置动画walk为true进入走路动画run为true进入跑步动画 public class PlayerController : MonoBehaviour {private Rigidbody2D rb;private Animator animator;public float maxAwaitTime;private float leftPressTime, rightPressTime;private bool moving, canRun;public int walkSpeed, runSpeed;private int currentSpeed;private float h;private void Awake(){rb GetComponentRigidbody2D();animator GetComponentAnimator();leftPressTime rightPressTime -maxAwaitTime;}private void Update(){h Input.GetAxisRaw(Horizontal);ChangeFaceDirection();CheckRun();}private void ChangeFaceDirection(){if (h 1){transform.localScale new Vector3(1, 1, 1);}else if (h -1){transform.localScale new Vector3(-1, 1, 1);}}private void CheckRun(){if (h 1 !moving){if (Time.time - rightPressTime maxAwaitTime){canRun true;}rightPressTime Time.time;}if (h -1 !moving){if (Time.time - leftPressTime maxAwaitTime){canRun true;}leftPressTime Time.time;}//取 h 的绝对值if (Mathf.Abs(h) 1){moving true;if (canRun){currentSpeed runSpeed;animator.SetBool(run, true);}else{currentSpeed walkSpeed;animator.SetBool(walk, true);}}else{animator.SetBool(run, false);animator.SetBool(walk, false);moving false;canRun false;}}private void FixedUpdate(){rb.velocity new Vector2(h * currentSpeed * Time.deltaTime, rb.velocity.y);} }效果 参考 【视频】https://www.bilibili.com/video/BV1YN4113771/ 完结 赠人玫瑰手有余香如果文章内容对你有所帮助请不要吝啬你的点赞评论和关注以便我第一时间收到反馈你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法也欢迎评论私信告诉我哦 好了我是向宇https://xiangyu.blog.csdn.net 一位在小公司默默奋斗的开发者出于兴趣爱好于是最近才开始自习unity。如果你遇到任何问题也欢迎你评论私信找我 虽然有些问题我可能也不一定会但是我会查阅各方资料争取给出最好的建议希望可以帮助更多想学编程的人共勉~
http://www.hkea.cn/news/14483258/

相关文章:

  • 4399页游网站做网站推广引流效果好吗
  • 网站开发有必要用php框架北京注册公司哪个区好
  • 在线视频网站如何制作治疗腰椎间盘突出的特效药
  • 个人网站主页模板常州微网站开发
  • 南昌企业网站建设公司找人做网站毕业设计
  • html移动网站开发wordpress 淘宝客源码
  • 内蒙古两学一做网站深圳工程建设有限公司
  • 谷歌seo网站推广怎么做优化手机版网页开发者工具
  • 网站建设费用摊销会计分录世界科技与发展论坛
  • 网站建设按什么收费域名解析到别人网站
  • 做暖暖视频网站观看wap网站软件
  • 包装设计网站有哪些沙元埔做网站的公司
  • 电子商务网站建设和维护成都广告公司联系方式电话
  • 郑州专业的网站建设公司排名太原建立网站
  • 杭州的网站设计公司阿里小说网站模板
  • 网站建设需求分析调查表营销案例100例
  • 注册查询官方网站wordpress换域名媒体库不显示图片
  • 城阳网站建设成品网站货源
  • 德宏商城网站建设有没有做请帖的网站
  • 建设网站需要造价深圳广告公司联系方式电话
  • 网站建设提供书面资料清单凡科建站快车代理登录
  • 盐城做企业网站多少钱郑州网站建设易云巢
  • 超频三网站谁家做的网站制作时
  • 石大远程网页设计及网站建设答案临汾网站建设 吕梁网站建设
  • 邵阳网站优化app开发哪公司好
  • 自动seo网站源码公司企业网站建设方案书
  • 金融网站cms网站设计建
  • 网站和后台阿里云域名备案流程详细
  • 网站建设优化西安关于做无机化学实验的网站
  • 网站规与网页设计鞍山钟点工招聘信息