【cocos2d-x IOS游戏开发-捕鱼达人7】游戏场景基础实现

时间:2023-02-08 10:50:31

尊重开发者的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/17142849


上节回顾

【cocos2d-x IOS游戏开发-捕鱼达人6】实现开始菜单


1、游戏场景与对象

游戏场景(GameScene)职能
游戏场景地图显示:我们游戏中,为一张单帧背景图
游戏场景中的对象管理:负责场景对象的创建,销毁,查询等
屏蔽场景相关的显示细节

游戏场景对象(CSceneObject)
提供对外接口ISceneObject 供操作
控制显示对象与动画的更新
移动与位置更新
碰撞检测
各种事件信号通知 如死亡动画结束等。

游戏显示对象(RenderObject)
与显示相关的配置文件的加载和管理
动画的显示和更新
提供必要的操作:如切换动画等

场景,场景对象,显示对象的关系
场景持有场景对象,提供相应的管理
场景对象负责位置等更新,并操纵显示对象
显示对象负责显示和动画更新,并不对场景以外的模块爆露自己

2、  游戏逻辑与对象

游戏逻辑(GameLogic)
接受外部输入(UI、键盘、网络)  如:点击了某个按钮
更据输入,修改自身数据,并进行相关逻辑操作,通知相应的结果(UI、场景、网络)  如:通知UI,玩家积分增加5
提供相应的数据接口,以便外部取得数据。IGameLogic

游戏逻辑对象 GameObject
提供相应的数据接口,以便外部取得数据 IGameObject
持有相应的数据,能够决定游戏对象的规则
持有并操控ISceneObject* ,以完成场景相关的变动
监听ISceneObject发出的事件,以完成相关工作


本节源代码与工程文件:【资源引用页】


大家要理解为何要将场景和逻辑分开,以及和UI层类比(*^__^*) ...