我正在 Unity 3.5.5f 中开发一个小型游戏原型 - 玩家在其中控制一个小型心灵控制外星人。玩家需要能够控制目标人类 NPC,将所有摄像机和控件切换到相关人类。
注意到目前为止,我的所有代码都在 C# 中。
关于如何进步,我有两个想法,哪个更可行?(我很高兴听到其他想法)
- 关卡中的每个人都有一个停用的 FPS 控制器脚本(以及随附的脚本)。这些脚本在受控时被激活(在此期间禁用外星人的脚本)。
- 将当前脚本从外星人身上分离出来,并将它们附加到目标人类身上。
就我看来它们的优点和缺点:
- 可以有单独的外星人/人类控制脚本(即不需要使用状态作为输入 - 例如可以在人类时开枪,而不是在 LMB 上作为外星人近战)。这种方法非常混乱。
- 这种方法很干净,但是播放器的代码文件会大得多,因为我不能轻易地分离输入代码。
编辑:一位朋友指出,是的,NPC 有自己的脚本,需要禁用。