如果评价有人不喜欢用编辑器脚本,喜欢用自己写一套代码动态挂脚本

不知道有什么好处,个人觉得很容易出错的。

本来就是这样的思想,当你项目越大你到处挂脚本怎么维护

项目大了 好处就体现出来了

这么多年的cocos经验告诉我
编辑器不可靠。。
不管是2dx时代的studio还是现在的creator。
当初信任编辑器酿造了太多惨案
通宵边哭边重构
呜呜呜呜呜
回想高中时代玩CS1.6的MOD
那种老游戏开发的方式虽然效率低了点
但是真的很靠谱,各种意义上。
也不会被编辑器坑,UI都是自己用C++搭配OPENGL HOOK出来的。。
8264A2F555E4F2AE830DFC70583C2F1F

1赞

为啥,大大小小的项目都做过,两种方式都试过,挂脚本也没出过啥问题。

1赞

你那叫外挂

emmm不能这么说吧,本身在CS1.6没有开源的情况下,如果要做mod就只能metahook开开发

我出过不少的问题都是因为引用丢失,uuid冲突,新手阶段的事情,最麻烦,

现在uuid的问题没了,但是uuid冲突还会存在,比如复制一个bundle重做,引用了之前bundle的资源

还有现在的升级后prefab脏数据,至今没有解决,快速撤销导致场景预制体数据错误,没有版本控制就GG

噢没要复制过 bundle,复制的话应该是要改下 prefab 的引用到新脚本,重新挂确实麻烦,但现在有复制/粘贴所有属性就还好,但还是希望可以直接有替换组件的功能,感觉这种大量文件的是不是应该用导入/导出解决。

升级后 prefab 脏数据具体是什么?

预制体版本控制支持差确实是个问题,团队里分模块工作倒是基本上不导致问题,偶尔冲突了总会让改动小的人重新做 :sweat_smile:

了解了,导出导入应该在冲突的情况下自动安排新 uuid 才对。

误会了,我说版本控制差是纯粹在说预制体的问题,不是说快速撤销。

快速撤销没咋试过。

我觉得吧,动态挂脚本有2个好处:
1、可以把编辑器给美术和策划去拼UI、做动画,而不用担心美术或策划离职导致源码泄露
2、根据节点,随时能取到脚本对象。做法是:
维护一个预制体和脚本的对应表。(动态脚本本来就要做的)
实例化预制体时,把节点name设置成脚本名称。
根据节点的name,查对应表就能取到脚本对象。
缺点:
1、麻烦,每次添加新预制体,都要设置对应的脚本,容易忘记
2、非动态生成的节点,还是要手动添加脚本,容易出bug
综合来看,动态挂脚本利大于弊

动态挂脚本容错率高使得协同效率高,直接拖动是流程效率高。个人开发者用哪个都可以;团队建议动态挂脚本。

确实是这样, 最开始时候, 一直用编辑器…后来突然之间崩了, 然后挂载的东西都乱了…感觉其实越是新手越应该学着练习代码动态挂脚本…