在对上期#1代码增加飞行模式下按空格提升高度;

public class FlyingController : MonoBehaviour
{// 飞行速度public float speed = 10f;// 是否处于飞行模式private bool isFlying = false;// 上一次按下空格键的时间private float lastSpaceTime = -1f;// 飞行高度private float flyHeight = 10f;// 地面高度private float groundHeight = 0f;// 刚体组件private Rigidbody rb;void Start(){rb = GetComponent<Rigidbody>();}void Update(){// 双击空格键进入飞行模式if (Input.GetKeyDown(KeyCode.Space)){if (Time.time - lastSpaceTime < 0.5f && isFlying){// 再次双击空格键,退出飞行模式isFlying = false;rb.useGravity = true;this.transform.position += Vector3.down * (transform.position.y - groundHeight);}else if (isFlying){// 在飞行模式下,按下空格键将会提升高度this.transform.position += Vector3.up * speed * Time.deltaTime;}else{// 进入飞行模式isFlying = true;lastSpaceTime = -1f;rb.useGravity = false;rb.velocity = Vector3.zero;this.transform.position += Vector3.up * (flyHeight - transform.position.y);}}// 飞行模式下按住 Shift 键下降if (isFlying && Input.GetKey(KeyCode.LeftShift)){this.transform.position -= Vector3.up * speed * Time.deltaTime;}}void FixedUpdate(){// 检测是否需要落地if (isFlying && !rb.useGravity && transform.position.y <= groundHeight){isFlying = false;rb.useGravity = true;this.transform.position += Vector3.down * (transform.position.y - groundHeight);}// 飞行模式下,根据输入移动if (isFlying){float h = Input.GetAxis("Horizontal");float v = Input.GetAxis("Vertical");Vector3 moveDir = new Vector3(h, 0, v).normalized;this.transform.Translate(moveDir * speed * Time.deltaTime);}}
}

如果在飞行模式下按下空格键,将会提升飞行高度;如果再次双机空格键,将会退出飞行模式,物体将恢复重力并回到地面。

Unity3D实现飞行模式#2,提升高度相关推荐

  1. Android系统移植与调试之-------如何修改Android设备添加重启、飞行模式、静音模式等功能(一)...

    1.首先先来看一下修改前后的效果对比图 修改之后的图片 确认重启界面 具体的修改内容在下一篇中具体介绍. Android系统移植与调试之------->如何修改Android设备添加重启.飞行模 ...

  2. wp———跳转系统设置页面的wifi、网络连接、蓝牙、飞行模式等

    通过 ConnectionSettingsType 的设置,可以跳转 到 wifi.蓝牙.飞行模式.以及网络连接 其他方案跳转 1 private async void Button_Click_1( ...

  3. 在 iOS 应用中实现飞行模式提醒

    如果在飞行模式下打开 Safari,程序会给出如下提醒: 实现如上提醒的方式为: 在应用的 Info.plist 文件中增加一个配置项:SBUsesNetwork,类型是 Boolean,值为 YES ...

  4. shell开启飞行模式_手机上的飞行模式,每天都能用得上,我是才知道,涨知识...

    哈喽,大家好,日常生活中,不管买的什么牌子的手机,安卓手机,还是华为手机还是苹果手机,新手机上的新功能都被我们了解的差不多了,但是你知道吗?手机上的飞行模式,有人每天打开用一次,有人一次没用过,其实它 ...

  5. 漫游飞行_手机“飞行模式”为何没被淘汰?内行人坦言:其实是你不会用!

    随着科技的不断创新,目前市面上出现的手机款式多种多样,品牌也非常多,有华为.苹果.三星和小米等等.手机的屏幕也是五花八门,有刘海屏.水滴全面屏等,这些屏幕之间都各有不同.而且手机的更新换代速度很快,很 ...

  6. shell开启飞行模式_今天才知道,原来手机的飞行模式用处那么多,看完涨知识了...

    想必大家都知道,手机里有个飞行模式,是在乘坐飞机时使用的.其实除了这个功能之外,飞行模式还有很多其他的妙用,下面笔者就为大家一一进行介绍. 一. 加快充电速度 有些特殊情况你想加快手机的充电速度时,可 ...

  7. java手机飞行模式_用了这么多年手机才知道,飞行模式还藏着这6个功能!太好用了...

    说起"飞行模式" 很多朋友们都会说 我又不坐飞机,要它有啥用? 当然有用! 而且用处可多了 不纠结手机辐射问题 很多朋友担心晚上不关机手机会有辐射,但是又觉得关机开机很繁琐,真是很 ...

  8. 福斯i6飞行模式设置_数据网络卡的时候,不妨试试“开关飞行模式”?上网速度明显变快...

    相信大家都有过这种经历,手机数据网速很慢的时候,开一下飞行模式再关闭,上网速度会比之前快很多,这就有人有了疑问,为什么呢? 开飞行模式再关掉飞行模式,其实等于是完成了一次手动的小区重选.移动通信系统是 ...

  9. shell开启飞行模式_原来手机飞行模式有这么多用处!99%的深圳人都不知道...

    相信大家都知道我们的手机里有个功能叫「飞行模式」(又称航空模式)它可以关掉手机收发信号的装置避免手机信号对飞机飞行造成干扰来源:网络那么对于不常坐飞机的人来说「飞行模式」功能是不是毫无用处呢?当然不是 ...

最新文章

  1. Linux系统中退出vim的编辑器3种情况
  2. 金融产品京东金融2015年战略主攻三大方向:股权众筹、农村金融和校园金融...
  3. java t没有缩进,Github上Java Eclipse项目的奇怪缩进
  4. Python丨为什么你学不好设计模式?
  5. 白话科普系列——双十一,竟然是一场有“预谋”的DDoS攻击?
  6. python 生成随机数_python 生成随机数模块random 常用方法总结
  7. 数据库设计规范 zhuan
  8. 彻底搞懂Scrapy的中间件(二)
  9. Mixed Content: The page at ‘https://XXX’ was loaded over HTTPS, but requested an insecure...........
  10. 关于高通平台9008线刷的一些注意点,供小白食用。
  11. ofd发票怎么打开?ofd格式发票转换pdf格式发票的方法
  12. java 什么时候使用内部类
  13. linux下批量修改图片分辨率
  14. 【Unity基础知识之一】 Unity支持 IOS 64-BIT
  15. 七个初学者必下载的Python编程器
  16. 原来PID是在老王头和老斯基的斗争中诞生的
  17. php梗相亲梗,没文化太可怕了,心疼这位相亲的php程序员
  18. stm32f1xx-freemodbus-RTU 移植
  19. 怎样往linux社区提交代码
  20. 三十岁而立之年混成怎么样才算成功?

热门文章

  1. 魔性洗脑神曲掀起模仿热潮,品牌为何热衷“打歌”?
  2. C++spdlog学习总结
  3. 800D-基础摄影知识
  4. javascript实现动画的联动
  5. 大学期末考试免费搜题公众号
  6. Ubuntu中出现:fatal error: stdio.h: No such file or directory
  7. windows 2008 server安全加固
  8. 三四月份面试阿里菜鸟+腾讯IEG,在这边有一些心得分享给大家(Java岗)
  9. 资产管理5大漏洞,你中了几个?
  10. pks与终端服务器通讯,德国HIMA黑马通讯卡件F8627