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