MIL9——模拟面试题
MIL9——模拟面试题
问题
Lua
- 请说出Lua中常用的数据类型(至少说出6种)
- Lua中
pairs
和ipairs
的区别 - Lua中常用的元方法有哪些?至少说出3个元方法
- Lua中元表的作用
- Lua中
__index
和__newindex
有什么作用
Unity
- Unity中判断两个2D矩形是否相交,有几种方式?(请至少说出两种方式)
- Unity中想要制作角色的连招功能,在制作状态机时我们一般如何处理?
- Unity中如果想要在动作的某一时刻进行伤害检测,我们应该怎么做?(请说出两种做法)
- Unity中想要制作自动寻路逻辑,我们应该怎么做?(请至少说出两种做法)
- 游戏编辑器(比如 角色编辑器、关卡编辑器、地图编辑器等工具)的本质是什么?
答案
Lua
-
请说出Lua中常用的数据类型(至少说出6种)
答案:
-
nil
-
boolean
-
number
-
string
-
table
-
function
-
userdata
-
thread
-
-
Lua中
pairs
和ipairs
的区别答案:
-
pairs
可以遍历出表中的所有键值对信息,在遍历不规则表时,建议用它 -
ipairs
只能遍历出连续信息,对于不规则结构,可能会缺失
-
-
Lua中常用的元方法有哪些?至少说出3个元方法
答案:
-
__index
-
__newindex
-
__tostring
-
__call
-
__add
运算符+
-
__sub
运算符-
-
__mul
运算符*
-
__div
运算符/
-
__mod
运算符%
-
__unm
运算符-
-
__concat
运算符..
-
__eq
运算符==
-
__lt
运算符<
-
__le
运算符<=
等
-
-
Lua中元表的作用
答案: 为一个表设置元表后,允许该表的行为关联元方法
-
Lua中
__index
和__newindex
有什么作用答案:
-
__index
用于查找:如果访问不存在的数据,由__index
提供最终结果 -
__newindex
用于更新:如果对不存在的数据赋值,由__newindex
对数据进行赋值
-
Unity
-
Unity中判断两个2D矩形是否相交,有几种方式?(请至少说出两种方式)
答案:
- 使用Unity物理系统进行碰撞检测
- 使用Unity中范围检测相关API
- 自己写算法进行检测
-
Unity中想要制作角色的连招功能,在制作状态机时我们一般如何处理?
答案:
- 状态机条件可以添加一个
Trigger
类型和Int
类型
Trigger
条件主要用于触发动作,Int
条件主要用于连招计数判断 - 逻辑上,当攻击按键输入时,我们需要触发动作,并且进行攻击计数
每次按键时都应该重新进行攻击计数延迟清零
- 状态机条件可以添加一个
-
Unity中如果想要在动作的某一时刻进行伤害检测,我们应该怎么做?(请说出两种做法)
答案:
- 添加动画事件
- 在切换动画一开始,进行延迟触发,延迟时间为想要触发伤害的时间(延迟可以用延迟函数,也可以用协同程序)
-
Unity中想要制作自动寻路逻辑,我们应该怎么做?(请至少说出两种做法)
答案:
- Unity自带的网格寻路系统
- 自定义寻路算法(比如 A星寻路算法)
-
游戏编辑器(比如 角色编辑器、关卡编辑器、地图编辑器等工具)的本质是什么?
答案:数据的图形化编辑工具
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 文KRIFE齐的博客!