新人一枚,学习cocos2d-x两周,各种疑惑。
先说下自己的理解.
话说Director负责scene的调度与切换,一个Scene可以包含多个Layer,那直接Layer之间,该如何高效、漂亮地通信呢?
我知道Layer之间可以通过delegate模式进行通信(当前Layer中定义纯虚Dlegate,目标Layer中继承并实现虚函数,Scene中将两个Layer关联)
但是我觉得这种模式有个问题:要求两个layer必须一开始就加入到scene中,但有的layer可能非常不易出现,那样的话,会一直占用不必要的内存,造成浪费。
还有一种我瞎想的方式是:所有状态变化都通知scene,有scene来决定下一步动作。
请问大家:
0. 如何分层?按功能?
- 如何设计layer之间的通信?
- 游戏状态在什么地方维护?各个layer,还是统一交给scene?