我正在打造一个基于一个我正在观看的运动系统教程的游戏,但代码越来越臃肿,我不知道怎么样分离我的脚本。
目前我有一个脚本负责墙跑、墙爬、冲刺、摄像机控制和射击子弹。
然而,因为基本运动脚本包含了运动、跳跃、速度控制和启用检查输入的函数以及状态机来确定玩家是否空中、墙跑、着地、或踩在台阶上等信息,所以当运动脚本变成这样时,就会变得很混乱。设置脚本方式意味着所有其他技能脚本都必须参考运动脚本来获取输入并检查和设置玩家状态。
应该如何分离脚本?目前分离了一个控制脚本,所有其他技能脚本都不再参考运动脚本获取输入数据,而是使用该控制脚本。玩家状态机应该单独脚本吗?理想情况下我希望将玩家技能添加到一些敌人身上。可以试着编写技能,使他们可以从控制脚本获取输入或从敌人AI脚本获取条件吗。希望可以将跳跃脚本应用到任何我想要的敌人身上,没有必须改变玩家版本的技能。
你们是怎么样实现让脚本更模块化的呢?有任何最好的实践或指南告诉我们如何用这种方式交换脚本吗?
评论 (0)