Unity 脚本可以灵活地挂在多个游戏对象上,一个游戏对象也可以挂在多个脚本。那么:脚本多了,如何来管理,如何控制不同脚本执行的先后顺序?

启动游戏后,Unity 会同时处理所有脚本。比如,执行脚本中的 Awake() 方法时,Unity 会先找到此时需要初始化的所有脚本,然后同时(先后顺序)执行这些脚本的所有 Awake() 方法。

//--脚本的执行顺序

脚本既可以在运行时动态添加在游戏对象上,也可以运行游戏前预制挂在游戏对象上。动态添加的脚本按添加的先后顺序决定执行顺序。但是静态脚本因此提前挂在了游戏对象上,所以初始化的顺序就不一样了。

在Editor→ProjectSettings→ScriptExecutionOrder中可以设置脚本的执行顺序。

例如,A B两个脚本,A先执行B后执行,如果在A的Awake()中获取B脚本的数据,那么可能就会出错。因为此时B脚本的初始化方法还没有执行。所以Awake() 方法适合做初始化,而在 Start() 方法中才适合安全地访问其他脚本的数据。这也说明了为什么在生命周期中会提供Start() 方法。

//-----------------------------------

//--多脚本优化

脚本挂的越多,执行效率就越低。这些脚本都需要执行生命周期的方法,此时Unity 需要遍历它们,然后再反射调用每个脚本的方法。

所以我们能做的优化就是避免挂太多脚本,避免在脚本中写入空方法。

如果不需要,就把它们删除掉。

Unity 3D 游戏脚本 多脚本管理相关推荐

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

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

  2. 【Unity 3D游戏开发】在Unity使用NoSQL数据库方法介绍

    随着游戏体积和功能的不断叠加,游戏中的数据也变得越来越庞杂,这其中既包括玩家产生的游戏存档等数据,例如关卡数.金币等,也包括游戏配置数据,例如每一关的配置情况.尽管Unity提供了PlayerPref ...

  3. 《Unity 3D 游戏开发技术详解与典型案例》——1.1节Unity 3D基础知识概览

    本节书摘来自异步社区<Unity 3D 游戏开发技术详解与典型案例>一书中的第1章,第1.1节Unity 3D基础知识概览,作者 吴亚峰 , 于复兴,更多章节内容可以访问云栖社区" ...

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

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

  5. Unity 3D - 游戏开发中的Lua

    Unity 3D - 游戏开发中的Lua : 本文作者:秦元培, 本文出处:http://blog.csdn.net/qinyuanpei/article/details/39826323 前言 : ...

  6. unity 3d游戏开发_使用Unity 5开发3D游戏

    unity 3d游戏开发 If there's one thing cooler than playing games, it's building games. 如果有比玩游戏更酷的一件事,那就是构 ...

  7. Unity 3D游戏代码编程学习教程 Full Guide To Unity 3D C#: Learn To Code Making 3D Games

    Unity 3D游戏代码编程学习教程 Full Guide To Unity 3D & C#: Learn To Code Making 3D Games Full Guide To Unit ...

  8. 《Unity 3D 游戏开发技术详解与典型案例》——1.3节第一个Unity 3D程序

    本节书摘来自异步社区<Unity 3D 游戏开发技术详解与典型案例>一书中的第1章,第1.3节第一个Unity 3D程序,作者 吴亚峰 , 于复兴,更多章节内容可以访问云栖社区" ...

  9. Unity 3D 环境特效||Unity 3D 游戏场景设计实例

    Unity 3D 环境特效 一般情况下,要在游戏场景中添加雾特效和水特效较为困难,因为需要开发人员懂得着色器语言且能够熟练地使用它进行编程. Unity 3D 游戏开发引擎为了能够简单地还原真实世界中 ...

  10. Unity 3D游戏发布到Android平台

    Android 是目前最流行的一个词,Android 的游戏.软件等几乎是人们每天都要用到的.要将 apk 文件发布到 Android 平台,必须先安装两个工具:Java(JDK)和 Android ...

最新文章

  1. python报错'str' object is not callable
  2. 在windows server 2012R2中安装域服务
  3. 我的计算机怎么打不开怎么办理,我的电脑打不开,怎么办【解决方法】
  4. wordpress启动初始化过程
  5. python文件存储过程_python调用MySql存储过程
  6. 介绍一个使用 cl_abap_corresponding 进行两个内表不同名称字段赋值的快捷方法
  7. CSS中越界问题经典解决方案
  8. Vlc支持IE 360 低版本的Google浏览器
  9. 1415C. Bouncing Ball
  10. nginx+keepalived高可用性负载均衡
  11. 更快学习 JavaScript的6个思维技巧
  12. 给你出道题---最佳组合问题
  13. linux系统中useradd和usermod命令参数讲解
  14. java画板保存_java画板文件保存理解
  15. 通过型号快速识别思科路由器,交换机,服务器等设备
  16. 著名的NP问题:TSP问题(Traveling Salesman Problem)
  17. oracle常见单词_oracle认证考试中,常用单词汇总
  18. Lenovo R7000 win11无线网卡无法连接5Gwifi
  19. 一、线性表的顺序存储和基本运算
  20. 10道虐心的Java面试题,被面试官虐哭了,同事一题都没答对

热门文章

  1. ltspice语言中文_ltspice中文教程
  2. Smith(史密斯)数的求法
  3. 软考中级网络工程师必背考试知识点集锦(一)
  4. 2023校招美团第三次笔试
  5. Bad file format reading the append only file: make a backup of your AOF file, then use ./redis-check
  6. 游记#2019ZJOI自闭记
  7. ZSC - 1306: 沼跃鱼早已看穿了一切 - 题解
  8. SpringCloud-6-Zuul网关
  9. 程序员放弃阿里工作回家当公务员,朋友:年纪轻轻为什么不奋斗
  10. core文件处理和进程查询