【Unity脚本】游戏开发常用功能——双击键盘跑步/快步
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脚本】游戏开发常用功能——双击键盘跑步/快步相关推荐
- 【Unity脚本】游戏开发常用功能——以平台动作游戏为例解决“瞬移穿墙”问题
核心代码 using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary& ...
- 【Unity脚本】游戏开发常用功能笔记——游戏开始,失败,暂停,重开,退出游戏
using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; /----- coded by 圈毛君 2019 ...
- Unity 2D游戏开发教程之摄像头追踪功能
Unity 2D游戏开发教程之摄像头追踪功能 上一章,我们创建了一个简单的2D游戏.此游戏中的精灵有3个状态:idle.left和right.这看起来确实很酷!但是仅有的3个状态却限制了精灵的能力,以 ...
- Unity 2D游戏开发教程之使用脚本实现游戏逻辑
Unity 2D游戏开发教程之使用脚本实现游戏逻辑 使用脚本实现游戏逻辑 通过上一节的操作,我们不仅创建了精灵的动画,还设置了动画的过渡条件,最终使得精灵得以按照我们的意愿,进入我们所指定的动画状态. ...
- 【错误记录】Visual Studio 2019 中运行 Unity C# 脚本时报错 ( 根据解决方案, 可能需要安装额外的组件才能获得 | .NET 桌面开发 | 使用 Unity 的游戏开发 )
文章目录 一.报错信息 二.解决方案 三.Visual Studio 2019 中运行 Unity C# 脚本需要的组件 1..NET 桌面开发 2.使用 Unity 的游戏开发 一.报错信息 Vis ...
- 【Unity】Unity 2D游戏开发(一)U2D基础功能
文章目录 Unity 2D游戏开发基础知识 Animation动画 SortingLayer层排序 Physics 2D物理2D Rigidbody 2D刚体 示例 1.点击鼠标发出子弹 2.子弹打中 ...
- 雨松MOMO《Unity 3D游戏开发》源码公布
原创文章如需转载请注明:转载自雨松MOMO程序研究院 本文链接地址:雨松MOMO<Unity 3D游戏开发>源码公布 下载源码时,首先大家请登陆图灵社区找到<Unity 3D游戏开发 ...
- Unity脚本介绍和常用API
Unity脚本介绍和常用API 脚本介绍 1.脚本 介绍 语法结构 编译过程 2.开发工具 MonoDevelop Visual Studio 3.脚本生命周期 简介 脚本生命周期的阶段 1.初始阶段 ...
- Unity 3D游戏开发项目《战斗吧!勇士》
目录 版权声明:本博客涉及的内容是对本人游戏作品<战斗吧!勇士>项目的总结,发布在网络上,旨在大家交流学习.互相促进.严禁用于其他一切用途. 摘要 游戏开发技术概述 Unity 3D 游戏 ...
最新文章
- accept系统调用内核实现
- MySQL-8.0.12源码安装实例
- 算法题:输入aaaabbbcccccc输出a4b3c6。
- 【设计模式笔记】代理模式
- sql server中case的简单示例
- php 输出数组第一个元素,怎么在php中利用reset() 函数输出数组中的第一个元素
- 猫盘onespace x3p系统使用
- AMiner 会议论文推荐第十四期
- error:尝试引用已删除的函数或已显式删除函数
- Unity报错:InvalidOperationException:You are tring to read lnput using the UnityEngine. ……的解决办法
- 树莓派pico 最新固件地址以及无法进入BOOT模式(U盘挂载)解决方法
- 【踩坑】Rock5B测试USB摄像头和安装OpenCV
- Code Review Checklist
- Viper--方便好用的Golang 配置库
- python3 url解析 urllib.parse.urlparse 库简介
- 科研篇(11):ICLR20 分类整理-对抗样本Meta-Learning
- 安卓system userdata镜像解包打包
- 链接与加载-NJU-JYY
- 使用 OpenCV 构建车辆计数器系统
- vim !!_让我们学习Vim! 第2部分