Devlog 9

太昊

撰写了文章 发布于 2017-05-01 16:53:13

评论 6

NoobPotato 1年前

终于更新啦_(:з)∠)_ 还真是第一次仔细考虑到这个问题呢,继承的结构更加适用于拥有大量的相同属性的个体之间,所有拥有同一父类的个体拥有相同的特性。而组合更适用于大量拥有不同属性且互相交叉的个体,拥有同一组件即拥有同一特性,更加能保证个体间的特性。简单的看上去就是一种负责管理大量的属性,另一种则是负责将相同的属性分配给大量的个体。是否可以将两种结合,以最为基础的数据集合作为属性管理,所有组件的激活以及未激活作为状态管理,将属性管理和状态管理合并在一起作为一个父类,再在子类上添加不同的组件呢?这样的话进行组件的管理也会更加的方便吧?

太昊 [作者] 1年前

@创可贴 ‍ “继承的结构更加适用于拥有大量的相同属性的个体之间,所有拥有同一父类的个体拥有相同的特性。” 嗯,所以Jobs就是继承结构的。

关于后半段,我在写完之后也在继续思考的时候意识到其实Character的概念可以继续上移为Sprite,从而包含进设施,因为角色与设施相比除了能移动并没有本质区别,所以就让“移动”成为一个Component组件就好了;
再然后其实可以再近一步上移把地图拼块也包含进去,这时候类名叫什么呢,已经包括了我游戏里所有Model了,所以可以叫GameObject了。
于是突然意识到其实Unity就是这么做的,也正是你所说的包含有状态管理和属性管理的总父类GameObject。在管理了所有公共属性的同时,可以拽上去任何Component组件。

所以我从一开始就让自己的Model层抄Unity结构就好了嘛!摔!

Shitake 1年前

is or has/push or pull 所谓的各种架构就是在这些东西之间的选择和切换

龙骑士无面者 1年前

这……这不就是面向对象设计的基础课么……如果作者你不是学计算机的,我诚挚的建议你买一本讲C++之类的面向对象设计的程序语言的入门书,会很有帮助。另外我建议尽量缩短操作游戏文件(编程)的时间,多写一些帮助文档,不到最后关头不要去编程,这样可以帮助你节约很多时间,也便于进行游戏设计。

太昊 [作者] 1年前

@龙骑士无面者‍ 这只是开发日志啊哥们,每周写到哪儿聊到哪儿而已,当然会遇到复杂问题,也会遇到基础问题。并不是什么技术难点探讨。

Coollen MMX 1年前

想多了, 自己搞着玩的东西别搞的太技术向

登录奶牛关账号即可参与讨论