SnakeGo的基本模样在脑袋中勾画的差不多了, 现在需要放到'屏幕'上画个原型出来了, 但突然就忘记该怎么用libgdx框架来画了...
敲完I;P这才几天啊...赶紧打开工程再看, 就想起以前跟人说过 -- "libgdx不能叫'引擎', 顶多是一个'类堆'", 是啊, libgdx似乎就没个固定的架子嘛... 使用中, 用起libgdx来真的是要东拿西凑, 按照其中各类的功能, 自己来搭建自己的框架... 于是, 趁着脑袋还热, 赶紧画了下面的类图, 省的又忘记...
如何, 乱不?
BaseScreen用到的ScreenCanvas和ActorStage功能是相同的, 只是前者用于放置Sprite, 而后者用于放置Actor/Group; 简单说, ScreenCanvas里面放的是'背景图/贴图', 而ActorStage放置是可以响应Touch的Actors.
Screen下面的Manager和Render在每个Screen实例里面都有一套的, 前者用于存放和处理'数据', 而Render则根据前者的数据来渲染界面, 两种之间通过相互注册的Listener来交换数据和事件. 这架子像不像MVC风格? 嘿嘿...