Unity --- 游戏案例 --- 英雄无敌与Ruby
创始人
2025-05-30 09:02:29

1.如何在场景中标识出一个空游戏物体(对象集群)

1.选中该空游戏物体,然后在Inspector面板处的物体名旁边添加想要的颜色的图标即可,最终效果如下图

2.这个图标只在场景中能开到,在游戏画面中是看不到的,其存在的作用是方便程序员对其进行编辑

3.一条游戏路线由一个个点组成,而每个点都可以由一个空游戏物体来进行管理。

4..设置好一个个点组成一条路线后可以再创建一个空游戏物体,并让所有的点成为该游戏物体的并行子物体来统一管理这些路线点(PS:该空游戏物体就可以命名为游戏路线)


5.为A游戏物体做的动画片段不能够套用到B游戏物体上;为一个游戏物体做的动画片段只能够用到这个游戏物体本身上

6.创建类(脚本)的时候有一个原则 --- 类的单一调用原则 --- 简单来说就是一个类只能有一种调用它的理由

 

1.在根路线(所有路线的起始点)处我们要实现的功能有:

一.生成敌人

二.为敌人选择一条只路线路线

三.生成路线

(每一条路线都需要一个路线类来记录它的信息,比如该路线涉及到的所有点,以及是否有被使用)

2.Time.deltaTime也是相对于游戏内时间的,如果想在scaleTime等于0,即游戏内时间暂停的时候依然能够获得每帧渲染所消耗的帧时间的话,就需要调用这个属性 --- Time.unscaleDeltaTime

(游戏内总时间同理(Time.time 与 Time.unscaletime))

3.Invoke() 和 InvokeReapting() 方法都是 MonoBehaviour 类中的实例方法(非静态方法,无法通过类名直接调,必须先实例化对象之后通过对象来进行调用,当然,如果类继承了MonoBehaviour类的话则可以在类中直接调用该方法)

4.每一个拥有Transform组件的游戏对象(对象集群)中的任何一个组件(脚本)对应的类实例化的对象都能够直接通过 --- 对象名 + 点操作符 + transform来访问到该游戏对象上的Transform组件

1.写一个脚本时,如果想要找到对象集群中的某一个组件的话,格式如上:

一.创建一个成员变量,该变量是要找的组件的引用

二.在Strat方法中通过调用继承的GetComponent()方法找到组件,并将其赋值给引用,让其指向这个组件。(后面直接通过这个引用来访问组件中的属性和方法就可以了)

(PS:GetComponent()方法最好千万不要在Updata方法和FixedUpdate方法中调用,因为该方法比较消耗性能,需要尽可能的少调用,而放在上面这两个方法中调用的话一个会每帧调用,一个会隔0.02s调用,十分消耗性能。最好是放在Start方法和Awake方法这些只执行一次的生命周期中)

2.往Updata方法中塞东西要十分谨慎,因为Uodata方法是每帧执行一次,如果塞错东西的话这个错误就会被每帧执行一次(最恐怖的是内存泄漏错误),这会导致非常严重的后果。

3.需要往游戏对象上挂载的脚本都必须继承MonoBehaviour类,不需要往游戏对象上挂载的脚本就不用继承该类。(没有继承MonoBehaviour类的话,则这个类是一个独立于Unity的类(或者说就是一个普通C#类),Unity中所有的方法它都不能够直接调用,但他能够通过实例化其它继承了MB类的类,然后通过对象间接调用)

4.Update方法中主要是执行调用其它方法的操作

5.bool值的默认值是false


6.如何通过脚本创建游戏物体 ---- 将GameObject类实例化后(创建GameObject类对象)就能够在Hirarchy面板创建一个游戏对象

7.如何通过脚本创建特定的游戏对象呢?

在脚本中创建一个公开的成员变量 --- 这个成员变量是一个GameObject类数组引用

创建好后Unity会在挂载脚本的游戏物体的Inspector面板中出现 Size选项,这里指的是元素个数,输好后就会让我们输入对应的元素,此时将想要创建的游戏对象拖入即可

2.在Unity中如果想判断游戏物体是否到达某一个位置时(已知该位置的空间点Vector坐标)

不要采用判断游戏物体的Positon是否与目标位置点的Positon == 的方式,因为这个判断条件太苛刻了,在实际游戏过程中可能因为各种各样的原因游戏物体到达了目标位置但是二者之间的坐标不完全重合

一般我们都使用距离(Distance)判断法 --- 通过判断游戏物体与目标位置的距离是否大于或小于某个特定值来判断游戏物体是否离开 / 到达目标位置

3.在C#中,在方法中直接写个return的话,执行到这一行代码时就会自动结束该方法

 

相关内容

热门资讯

53-exec进程替换 exec进程替换 一.exec系列 1.execl #include#include#include...
CF1737E Ela Goe... CF1737E Ela Goes Hiking 题目大意 nnn 只蚂蚁站成一排,第 ...
福州一日游哪里好玩,福州一日游... 福州一日游哪里好玩目录福州一日游哪里好玩福州一日游必去景点福州一天游,求推荐去哪福州一日游,有什么好...
新车5到6万买什么车好,预算5... 新车5到6万买什么车好目录新车5到6万买什么车好预算5万,有哪些车款可以推荐?买车5-6万买什么车好...
网络语言JMS是什么意思(jm... 本篇文章极速百科给大家谈谈网络语言JMS是什么意思,以及jms是什么意思中文翻译对应的知识点,希望对...
苹果6id锁怎么强制解除,苹果... 苹果6id锁怎么强制解除目录苹果6id锁怎么强制解除苹果六忘记ID激活锁怎么办如何强制解除id锁的方...
机器人阻抗控制(二) #阻抗控制 #机器人控制 #动力学方程 《Cartesian Impedance Control o...
SkyWalking 日志收集 SkyWalking 日志收集一、需求二、步骤2.1 pom文件引入依赖2.2 logback-sp...
DETR网络模型构建 这篇文章主要为记录DETR模型的构建过程 首先明确DETR模型的搭建顺序:首先是bac...
算法强化每日一题--组队竞赛 大家好 先看看题目 链接:组队竞赛__牛客网 [编程题]组队竞赛 牛牛举办了一次编...
什么是人际交往,什么是人际交往... 什么是人际交往目录什么是人际交往什么是人际交往?影响人际交往的因素有哪些?什么是人际交往人际交往指的...
自考大专什么时候报名,自考大专... 自考大专什么时候报名目录自考大专什么时候报名自考大专怎么报名 报考时间在几月份?每年的什么时候报名自...
蚕的变化过程,蚕的一生经历了哪... 蚕的变化过程目录蚕的变化过程蚕的一生经历了哪几个阶段?咨询:蚕的演变过程?蚕的生长变化顺序是怎样的?...
汽车出现service是什么意... 汽车出现service是什么意思目录汽车出现service是什么意思车上的service是什么意思?...
arcpy基础篇(6)-制图脚... arcpy.mapping模块可以实现地图制图的自动化,它的具体功能包括管理地图文档、...
基于 Zynq 的振动台控制器... 3 振动台控制器架构设计与实现 如前所述,Zynq-7000 本身已经具有了独特的架...
为什么手机收不到验证码短信,为... 为什么收不到短信验证码 3. 曾经向运营商申请过屏蔽短信号码,或添加过黑名单。 4. 短...
中国移动如何免费领取10G流量... 中国移动如何免费领取10G流量目录中国移动如何免费领取10G流量免费领10g流量的软件中国移动送10...
描写孩子童真的句子,孩子童真的... 描写孩子童真的句子目录描写孩子童真的句子孩子童真的唯美句子有哪些?描写童真童趣的一段话,急急!!!描...
QQ空间如何自定义封面,进入q... QQ空间如何自定义封面目录QQ空间如何自定义封面进入qq空间时的封面怎么设置?不花钱的那种怎样制作Q...
55-kill命令及实现kil... kill命令及实现kill命令 一. kill命令简介 在Linux系统中,kill命...
【问题与方法】如何使用vsco... 码字不易,如果各位看官感觉该文章对你有所帮助,麻烦点个关注,...
OMM导致tomcat引用假死 背景 在开发测试环境发现一个奇怪的情况,因查询100w条数据导致OOM,...
座落是哪个坐,座落是座还是坐?... 座落是哪个坐目录座落是哪个坐座落是座还是坐?座位是广字框的左还是哪个座?座落的意思座落是哪个坐 ...
人在什么情况下会失温(人体失温... 今天给各位分享人在什么情况下会失温的知识,其中也会对人体失温如何自救进行解释,如果能碰巧解决你现在面...
如何抓好安全生产工作 极速百科... 如何抓好安全生产工作目录如何抓好安全生产工作如何抓好安全生产工作我们应当如何做好安全生产工作,预防事...
小说阅读网作家中心(小说阅读网... 本篇文章极速百科给大家谈谈小说阅读网作家中心,以及小说阅读网作家中心作家登陆对应的知识点,希望对各位...
自定义变量名称和变量的生命周期 自定义变量名给已有变量改名#define A B 把A定义为B的别名例#define 整型 int整...
EC20免驱版 TX2无法使用 打开串口助手在root权限下busybox microom /dev/ttyUSB12发送指令(这...
不要迷信 QUIC 很多人都在强调 QUIC 能解决 HoL blocking 问题,不好意思࿰...