using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// Author:圈毛君
/// MoveController:2019/10/18 20:50
/// </summary>
public class PlayerController : MonoBehaviour
{public float walkSpeed = 3.0f;         // 步行速度public float runSpeed = 5.0f;          // 跑步速度public float pressInterval = 0.5f;     // 双击按键的有效时间间隔public float exStepDistance = 3.0f;    // 瞬步距离private Rigidbody2D rgb;private SpriteRenderer sr;private Color originColor;private float pressATime;              // 按下A键时间private float pressDTime;private float releaseATime = .0f;      // 松开A键时间private float releaseDTime = .0f;private void Awake(){rgb = this.GetComponent<Rigidbody2D>();sr = this.GetComponent<SpriteRenderer>();originColor = sr.color;}private void Start(){}private void Update(){MoveController();                           // 移动控制}public void MoveController(){if (Input.GetKeyUp(KeyCode.A))              // 不能||D,否则快速AD也算双击有效时间{releaseATime = Time.time;sr.color = originColor;rgb.velocity = new Vector2(0, 0);       // Stop}if (Input.GetKeyUp(KeyCode.D)){releaseDTime = Time.time;sr.color = originColor;rgb.velocity = new Vector2(0, 0);}if (Input.GetKey(KeyCode.A)){pressATime = Time.time;if(pressATime - releaseATime <= pressInterval){rgb.velocity = new Vector2(-runSpeed, 0);       // 跑步sr.color = new Color(1, 0, 0);releaseATime = Time.time;                       // 跑步状态中要持续更新松键时间}elsergb.velocity = new Vector2(-walkSpeed, 0);      // 步行}if (Input.GetKey(KeyCode.D)){pressDTime = Time.time;if (pressDTime - releaseDTime <= pressInterval){rgb.velocity = new Vector2(runSpeed, 0);sr.color = new Color(1, 0, 0);releaseDTime = Time.time;}elsergb.velocity = new Vector2(walkSpeed, 0);}}
}

【Unity脚本】游戏开发常用功能——双击键盘跑步/快步相关推荐

  1. 【Unity脚本】游戏开发常用功能——以平台动作游戏为例解决“瞬移穿墙”问题

    核心代码 using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary& ...

  2. 【Unity脚本】游戏开发常用功能笔记——游戏开始,失败,暂停,重开,退出游戏

    using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; /----- coded by 圈毛君 2019 ...

  3. Unity 2D游戏开发教程之摄像头追踪功能

    Unity 2D游戏开发教程之摄像头追踪功能 上一章,我们创建了一个简单的2D游戏.此游戏中的精灵有3个状态:idle.left和right.这看起来确实很酷!但是仅有的3个状态却限制了精灵的能力,以 ...

  4. Unity 2D游戏开发教程之使用脚本实现游戏逻辑

    Unity 2D游戏开发教程之使用脚本实现游戏逻辑 使用脚本实现游戏逻辑 通过上一节的操作,我们不仅创建了精灵的动画,还设置了动画的过渡条件,最终使得精灵得以按照我们的意愿,进入我们所指定的动画状态. ...

  5. 【错误记录】Visual Studio 2019 中运行 Unity C# 脚本时报错 ( 根据解决方案, 可能需要安装额外的组件才能获得 | .NET 桌面开发 | 使用 Unity 的游戏开发 )

    文章目录 一.报错信息 二.解决方案 三.Visual Studio 2019 中运行 Unity C# 脚本需要的组件 1..NET 桌面开发 2.使用 Unity 的游戏开发 一.报错信息 Vis ...

  6. 【Unity】Unity 2D游戏开发(一)U2D基础功能

    文章目录 Unity 2D游戏开发基础知识 Animation动画 SortingLayer层排序 Physics 2D物理2D Rigidbody 2D刚体 示例 1.点击鼠标发出子弹 2.子弹打中 ...

  7. 雨松MOMO《Unity 3D游戏开发》源码公布

    原创文章如需转载请注明:转载自雨松MOMO程序研究院 本文链接地址:雨松MOMO<Unity 3D游戏开发>源码公布 下载源码时,首先大家请登陆图灵社区找到<Unity 3D游戏开发 ...

  8. Unity脚本介绍和常用API

    Unity脚本介绍和常用API 脚本介绍 1.脚本 介绍 语法结构 编译过程 2.开发工具 MonoDevelop Visual Studio 3.脚本生命周期 简介 脚本生命周期的阶段 1.初始阶段 ...

  9. Unity 3D游戏开发项目《战斗吧!勇士》

    目录 版权声明:本博客涉及的内容是对本人游戏作品<战斗吧!勇士>项目的总结,发布在网络上,旨在大家交流学习.互相促进.严禁用于其他一切用途. 摘要 游戏开发技术概述 Unity 3D 游戏 ...

最新文章

  1. accept系统调用内核实现
  2. MySQL-8.0.12源码安装实例
  3. 算法题:输入aaaabbbcccccc输出a4b3c6。
  4. 【设计模式笔记】代理模式
  5. sql server中case的简单示例
  6. php 输出数组第一个元素,怎么在php中利用reset() 函数输出数组中的第一个元素
  7. 猫盘onespace x3p系统使用
  8. AMiner 会议论文推荐第十四期
  9. error:尝试引用已删除的函数或已显式删除函数
  10. Unity报错:InvalidOperationException:You are tring to read lnput using the UnityEngine. ……的解决办法
  11. 树莓派pico 最新固件地址以及无法进入BOOT模式(U盘挂载)解决方法
  12. 【踩坑】Rock5B测试USB摄像头和安装OpenCV
  13. Code Review Checklist
  14. Viper--方便好用的Golang 配置库
  15. python3 url解析 urllib.parse.urlparse 库简介
  16. 科研篇(11):ICLR20 分类整理-对抗样本Meta-Learning
  17. 安卓system userdata镜像解包打包
  18. 链接与加载-NJU-JYY
  19. 使用 OpenCV 构建车辆计数器系统
  20. vim !!_让我们学习Vim! 第2部分

热门文章

  1. 你应该知道的产品设计14招
  2. 认识物联网,你可以从这个角度入手
  3. java四则出题判分_C#编程之自动出题判分——c#学习实践
  4. Facebook广告数据
  5. python抓取抖音数据
  6. 查找DLL、EXE文件依赖的DLL
  7. Android 获取手机的厂商、型号、Android系统版本号、IMEI、当前系统语言等工具类
  8. 识别、提取三维超声中标准平面的总结+论文+代码+数据集+练习合集
  9. 阿里云端物联网平台创建产品以及设备
  10. 诛仙手游服务器维护中,诛仙手游2021年7月22日更新维护公告