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齐的博客!
