关于暂停游戏功能的做法,
网上的教程以及Unity官方发布的Demo都是通过把Time.timeScale设成0来实现的,
然而这会导致一些蛋疼的问题,
因为Time.timeScale是全局变量,
改成0后UI动画,粒子特效啥的就全都扑街了,
虽然可以通过改Update函数来打补丁,
但是对于我这种有代码洁癖的人来说,
这实在是一个既蛋疼又难看的搞法,
另外,把Time.timeScale设成0以后,
只是把FixedUpdate停下来了,
但Update还是会调用,
这样可能出现一些诡异的逻辑问题,
然后还要浪费CPU去跑没用的代码太不环保了,
真心搞不懂Unity的程序猿为啥要把这个很简单的问题搞得这么复杂,
这个功能随便用脚趾头都能想出很多简单又好用的办法,
例如加个功能可以在对象上打个标记或者设个状态,
然后在引擎Update的时候不调用该对象及其子对象的Update相关函数就可以了,
可惜这玩意没源码,
不然花两分钟时间就改好了,
目前想到的办法是弄一个全局暂停变量,
在所有脚本的Update相关函数里判断这个变量是否为true,
如果为true就直接return,
虽然写起来稍微麻烦点,
但是代码比较明确,
省CPU也不容易出错。

Unity暂停游戏功能的更多相关文章

  1. Unity 代码组件获取和使用、Resources加载、OnGUI、Time、Mathf、PlayerPref

    1.     游戏物体组件获取.添加组件(重要) 作业分析: 子弹生成:坦克生成----->坦克控制类里生成子弹 子弹飞行:子弹自己飞,不能通过坦克控制类进行管理: 获取代码组件,设置子弹速度: ...

  2. 软件功能说明书final修订

    贪吃蛇(单词版)软件功能说明书final修订 1 开发背景 “贪吃蛇”这个游戏对于80,90后的人来说是童年的记忆,可以将其说为是一个时代的经典,实现了传统贪吃蛇的游戏功能:现在人们对英语的重视程度越 ...

  3. 软件功能说明书beta修订

    贪吃蛇(单词版)软件功能说明书beta修订 1 开发背景 “贪吃蛇”这个游戏对于80,90后的人来说是童年的记忆,可以将其说为是一个时代的经典,实现了传统贪吃蛇的游戏功能:现在人们对英语的重视程度越来 ...

  4. 基于spec探路者团队贪吃蛇作品的评论

    1 运动功能 由以上两图贪吃蛇的位置不同可知,运动功能实现.并且我能够通过使用键盘上的上下左右方位键控制蛇的移动方向,蛇在控制的方向上进行直线前进. 2 吃食物功能 以上两图可知吃食物功能实现.当界面 ...

  5. 王者荣耀交流协会-小组互评Alpha版本

    小组分工如下: 1.探路者---贪吃蛇(测评人:王玉玲) 链接:http://www.cnblogs.com/WYLFZ/p/7805520.html    http://www.cnblogs.co ...

  6. 探路者 Alpha阶段中间产物

     版本控制 git地址:https://git.coding.net/clairewyd/toReadSnake.git   贪吃蛇(单词版)软件功能说明书 1 开发背景 “贪吃蛇”这个游戏对于80, ...

  7. Unity应用怎么暂停(Pause)

    非常多时候,应用程序或者是游戏须要用上暂停功能,unity提供了不少便捷的方式,列在以下: 1.在editor中,按下pausebutton就可以暂停 2.假设在代码中控制,能够通过设置Time.ti ...

  8. Unity游戏暂停之Update与FixedUpdate区别

    游戏暂停 示例程序 下面这段代码演示游戏暂停 using UnityEngine; using System.Collections; public class GamePauseTest : Mon ...

  9. unity中让物体移动到鼠标点击地面任一点的位置(单击移动和双击暂停移动)并生成图标

    using UnityEngine; using System.Collections.Generic; using UnityEngine.EventSystems; using UnityEngi ...

随机推荐

  1. 微软连续12年成为Gartner分析和BI平台魔力象限的领导者

    小悦还沉浸在新春开工大吉的工作中,微软Power BI就又迎来了一个好消息!据Gartner刚新鲜出炉的<  2019年Gartner的分析和商业智能平台魔力象限报告>,微软迄今已连续12 ...

  2. Failed to load ApplicationContext ,Error creating bean with name 'adminUserService': Injection of autowired dependencies failed;

    Druid配置的时候出现这个问题: "C:\Program Files\Java\jdk1.8.0_191\bin\java" -ea -Didea.test.cyclic.buf ...

  3. SQLI DUMB SERIES-19

    (1)根据题意,从Referer入手 (2)报错注入与上一关相同.如爆库名: 'and extractvalue(1,concat(0x7e,(select database()),0x7e)) an ...

  4. axios 重复点击利用CancelToken阻止请求多次发送

    import axios from 'axios'; axios.defaults.timeout = 5000; axios.defaults.baseURL =''; let pending = ...

  5. 零基础python入门(1)

    1.前景及准备 (1).python是一门简单易学且功能强大的编程语言.它拥有高效的高级数据结构,并且能用简单而又高效的方式进行面向对象的编程.python优雅的语法和动态的类型,再结合它的解释性,使 ...

  6. 个人 git-hub使用方法

    注册码云 安装git hub git init here         创建本地仓库(repository),将会在文件夹下创建一个 .git 文件夹,.git 文件夹里存储了所有的版本信息.标记等 ...

  7. js判断页面在pc端打开还是移动端打开

    js判断页面在pc端打开还是移动端打开,分别跳转不同的index.html window.addEventListener('load', function() { // true为手机,false为 ...

  8. 普通路由器刷开源固件DD-WRT的简单过程

    DD-WRT是基于Linux的无线路由软件,功能强大,它提供了许多一般路由器的软体所没有的功能,将路由器固件升级到DD-WRT可以提升内建于预设固件的限制,并将其转换成强大且具有进阶功能的商业级路由器 ...

  9. iPhone / iPad L2TP Client Setup

    原文链接:http://www.softether.org/4-docs/2-howto/9.L2TPIPsec_Setup_Guide_for_SoftEther_VPN_Server/2.iPho ...

  10. Ansys热应力计算

    目录 问题说明 温度场分析APDL 结果 问题说明 样块上下两端固定,在室温20℃下进行夹紧,分析其升温到150℃时的热应力. 采用间接法进行分析,温度场单元选择278,应力场单元为185 首先进行稳 ...