游戏客户端的功能模块
2018-08-27 本文已影响0人
将_99cc
在目前我接触过的游戏系统中,得出来的一点小经验~
我个人觉得按照以下几点来的系统相对来说更容易维护,也更容易让人理解。
1.一个完成的程序都是由一个个功能模块组成的。每一个功能模块(module)尽量保持黑盒模式,即相对独立。这样对于分步加载也是很有益的,毕竟一次性全部加载完成需要的流量和时间都是相当大的。
2.每一个功能模块都有其对应的代理(proxy),代理主要就负责对模块功能进行调用,比如:显示相应内容,清理模块之类的。功能模块是相对封闭的,基本上只有通过代理才能对相应功能模块进行操作(还能通过事件来触发功能模块)。
3.功能模块中需要改变数据层内容的,需要向服务器发送请求,成功以后才能改变数据层的内容,改变了数据层内容后才能继续执行该功能模块接下来的动作(此时可通过事件触发)。
4.功能模块可以直接接收服务器发送过来的非数据请求(即不通过数据层,可通过事件触发)。
5.目前在项目中,向服务器发送请求,或是服务器返回数据都是通过协议来完成的。
下面是我简单的总结,如果有问题,希望指正!
Emmmm,共勉~