写框架设计好否则就会出现某个类代码量很大,不好理解,灵活性差。
还要考虑如何移植到java,android都通用。
所以首先我搬一个现实生活中的例子,来思考框架如何轻松理解和灵活编写:
拍电影剧本模式
你可能听说过一句话:玩了一款游戏就像看完一部电影。是的,没错我要举的例子就是拍电影模式。应该要有一个造型室(ModelFactory),遇到事件演员可以在那里换指定的几种造型(Model).
(造型可以使单例的,可以减少内存的浪费)类就会有: World:世界,实现物理引擎 Config: 游戏基础参数 Stage:舞台 Actor 精灵(演员) Script:剧本 GameCanvas:灯光摄影师,负责显示场景。实现渲染引擎 GameSurfaceView:显示呈现整个游戏。 Action:动作,剧本是可以修改的,剧本可以添加修改或者删除一条动作 IEventAction 事件动作 基于某个事件做出动作 ITimeAction 时间动作 基于某个时间做出动作 Model:造型-如僵尸受伤造型,死亡造型,移动造型.... ModelFactory:造型库,初始化造型和提供造型 Scene场景 设计光卡之类 Layer图层 场景中绘制时区分远景和近景 SceneTouchListen 游戏画面点击 移动 ...等事件
伪代码1: //新建游戏基本参数 重力0.1,摩擦力0.2,反弹力0.3 最小事件单位13毫秒..2D......... Config config=new Config(0.1,0.2,0.3,13,"2d"); //创造一个基于这些参数的世界 World world=WorldFactor.CreateBy(config); //创建一个舞台。 Stage stage=new Stage(wrold); //设置游戏舞台剧本 stage.setScript(new StageScript()); //在舞台中创建一个场景 Scene scene=stage.Create(0); //设置场景脚本 scene.setScript(new MyGameScript()); //舞台开始演出 stage.start();
2D游戏绘图基本原理