简体中文翻译:
TLDR 在下面我花了3年时间开发一个画图程序/游戏混合项目。开始时我以为这是一个“简单的入门项目”,但后来发现画图程序并不是一个非常适合初学者的项目 haha。自从开始学习,我学到了很多东西。由于我学习了更多关于Godot和编程,我意识到我在项目的基础上做了很多糟糕的决定,需要重新设计。现在我正在开发3.0版本,进展顺利,但:每次迭代都会导致绘图场景的主要组件变得极其依赖于彼此。自从使用信号总线以来,它们可以独立存在并不会抛出错误,但它们仍然不断地互相通信。 我想知道这是否只是这个类型的项目的性质,还是我做错了什么?我想象一下传统的游戏,你只是有一个敌人,它只关心是否被击中。如果它被击中,它会检查伤害。如果其健康值小于0,它会死亡。在我的项目中,画布需要更新画笔情况,画笔设置需要通信,画笔“印记”需要通信,图层需要与其管理器和画布通信,每个动作都需要与撤销管理器通信(用于撤销/重做日志),还有画笔修饰符需要与画布通信,等等。有太多的通信,它都感觉必要,但看起来就像太多的通信发生在我想象中的一个简单程序中。 我做得比之前的项目好的是,我把我的“意大利面”放入桶子里。每个模块可能有某种程度的混乱,但它被限制在其对象内。大多数模块之间的通信是直接的,它们通过信号总线进行通信,所以感觉是可管理的。尽管如此,我仍然想知道我是否在模块之间的通信上做错了什么,或者我的整个项目设计方法是错误的。所以,总之: TLDR:我的项目目前有很多不同部分,它们都需要从彼此处获得各种信息。它们之间的通信量虽然可管理,但令人望而却步。 我是否做错了什么?这是项目的正常结果吗?
评论 (0)