游戏编程之Unity常用脚本类的继承关系
前言
学习Unity开发引擎的初学者会接触大量的脚本类,而这些类之间的关系往往容易被忽略。
本文对Unity引擎开发中的一些常用类及其关系进行了简单的归纳总结。
博文首发地址:http://tieba.baidu.com/p/3611960338
Unity常用脚本类继承关系图

对Unity开发稍有了解的朋友都知道,在Unity开发框架中有4个基本层次:工程(应用程序)、场景、游戏对象和组件。
在脚本中,整个应用程序和场景由Application类控制;而游戏对象和组件类均继承于Object类。
在Object类的派生类中,还有一些类,他们绝大多数都属于资源,是构成组件以及游戏对象的组成部分。
还有一部分常用类并不继承于UnityEngine中的Object类,从功能上可以看出这些类的主要作用是从某一方面进行宏观控制。
从这个意义上说,可以把Application类和其它有宏观控制作用的类归为一类。
这样以来Unity中的常用脚本类就可以简单的分成如下四大类:
一、宏观控制类
主要作用是真对Unity程序中的某一方面进行宏观控制。
包括:
Application —— 应用程序类
Input —— 输入类
GUI —— 图形输出类
Physics —— 物理引擎类
Resources —— 资源类
Time —— 时间类
等等
二、游戏对象(GameObject)类
由于Unity是面向组件的开发模式(而非面向对象),所以从类的继承关系中也能看出:
对于GameObject类没有下太多的笔墨,而是将更多的内容交给下面的组件类。
三、组件(Component)类
脚本开发中的组件类往往可以和图形界面中的检视面板对应起来。
每一个游戏对象的细节设置与操控都需要借助组件类来完成。
在常用组件类中,有两个继承关系需要特别提一下:
(1)角色控制器(CharacterController)类继承于碰撞器(Collider)类
(2)有一组类并不直接继承于组件类,而是通过继承Behavior类间接的继承,包括我们熟知的MonoBehavior类
至于为什么会这样设计类,在入门篇就不深入讨论了。但是我们可以根据对这些组件类的已有认知先形成一个感性认识。
四、资源类
对于刚入门的初学者来说,资源一般都是在图形界面导入进来之后直接使用。
通过脚本创建资源或者修改资源本身的情况不是很多。
而个人认为,精通资源类是走出初学阶段很重要的一步,也是代码开发摆脱素材限制的一种重要手段。
后语
途中用颜色标记了 基础、拓展和进阶 三个类别。
这个是对初学者而言的,对于有经验的Unity开发人员来说,这些常用的类应该都属于“基础”。
另一方面,每个人的学习路线不同,阶段划分也会不一样,仅供参考。
游戏编程之Unity常用脚本类的继承关系的更多相关文章
- C#开发Unity游戏教程之Unity中方法的参数
C#开发Unity游戏教程之Unity中方法的参数 Unity的方法的参数 出现在脚本中的方法,无论是在定义的时候,还是使用的时候,后面都跟着一对括号“( )”,有意义吗?看起来最多也就是起个快速识别 ...
- [Android Studio] Android Studio中查看类的继承关系
转载自:http://blog.csdn.net/hyr83960944/article/details/38098091 查看类的继承关系的快捷键F4,在Android Studio常用快捷键这篇文 ...
- phpstorm查看类的继承关系
在看一些框架源码时,有些类有很多的继承或者接口,有一款神奇的帮助很重要 选中一个类文件,右键,选择diagrams->show diagrams 即可得到类的继承关系,如上右图 使用函数 fun ...
- Pycharm 查看一个类的继承关系图
Pycharm 查看一个类的继承关系图 在我们开发过程中: 无论是使用的开发框架自带的类, 还是我们自定义的类都特别多; 并且类之间单继承和多继承频繁使用, 这个继承,不仅仅是一级的继承关系,包括好几 ...
- Android Studio中查看类的继承关系
查看类的继承关系的快捷键F4.在Android Studio经常使用快捷键这篇文章中.有写了.今天主要是讲一些关于这个快捷键出来的界面的一些配置.这块功能相对偏冷一些,可能非常多人都会用不到.可是关于 ...
- cc.isChildClassOf 判断两个类的继承关系
使用 cc.isChildClassOf 来判断两个类的继承关系: var Texture = cc.Class(); var Texture2D = cc.Class({ extends: Text ...
- 使用IntelliJ IDEA查看类的继承关系图形
最近正好也没什么可忙的,就回过头来鼓捣过去的知识点,到Servlet部分时,以前学习的时候硬是把从上到下的继承关系和接口实现记得乱七八糟. 这次利用了IDEA的diagram,结果一目了然,也是好用到 ...
- (转)Python异常类的继承关系
原文:https://blog.csdn.net/Dragonfli_Lee/article/details/52350793 https://www.cnblogs.com/Lival/p/6203 ...
- 第一篇:初识ASP.NET控件开发_第一节:控件类及其继承关系
1)System.Web.UI.Control(以下简称Control) Control 类是包括自定义控件.用户控件和页在内的所有 ASP.NET 服务器控件的基类..定义由所有 ASP.NET 服 ...
随机推荐
- 学习python绘图
学会python画图 # 使用清华的pip源进行安装sklearn # pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U sciki ...
- LANMPS 一键PHP环境安装包(转)
转:http://www.lanmps.com/ LANMPS 一键安装包,php绿色环境套件包: https://github.com/foxiswho/lanmps 安装 Mar 17, 2017 ...
- 一键复制功能 - Vue
经常遇到一键复制功能,简单记录一下.这里使用的是clipboard插件:https://clipboardjs.com/ 第一步 安装:npm install clipboard --save 第二步 ...
- Ansible条件测试
本节内容: Ansible条件测试 一.Ansible条件测试 在ansible中还可以进行条件测试.如果需要根据变量.facts或此前任务的执行结果来做为某task执行与否的前提时要用到条件测试. ...
- USACO 4.4 Frame Up
Frame Up Consider the following five picture frames shown on an 9 x 8 array: ........ ........ ..... ...
- 8-8 Ddfense Line uva1471 优先级队列
题意:给你一串长度为n的序列 你的任务是删除一个连续的子序列 使得剩下的序列中有一个长度最大的连续递增子序列 例如 将 5 3 4 9 2 8 6 7 1 中的9 2 8 删除 得到5 3 ...
- R语言实战(九)主成分和因子分析
本文对应<R语言实战>第14章:主成分和因子分析 主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量成为主成分. 探索性因子分析(EFA)是 ...
- elasticsearch-.yml(中文配置详解)
此elasticsearch-.yml配置文件,是在$ES_HOME/config/下 elasticsearch-.yml(中文配置详解) # ======================== El ...
- navicat premium 的使用——navicat 连接MySQL数据库
最近,在学习navicat premium这款第三方软件,他是一个三方数据库管理软件,在前一段时间实习的时候,我使用这款软件调用过服务器上的数据库,不过,当时并没有仔细研究,再次遇到这个软件,我决定仔 ...
- BZOJ.5311.贞鱼(DP 决策单调)
题目链接 很容易写出\(O(n^2k)\)的DP方程.然后显然决策点是单调的,于是维护决策点就可以了.. 这个过程看代码或者别的博客吧我不写了..(其实是忘了) 这样复杂度\(O(nk\log n)\ ...