我觉得先作一个XML Interface Parser,通过xml生成界面,所有使用的控件使用不同的类进行实现,每个类都继承一个标准的渲染接口(至少提供一个render函数,以及一个updateRender),通过调用updateRender进行重绘;界面完成以后,实现一个消息驱动,可以模仿以下C#的委托(实现消息投递),与控件进行关联,实现交互;一点小小的设想,仅供参考。
对了,至于Sprite动画的话,同样可以使用渲染公共接口,所有画面上的物体可以通过对象管理器实现,消息空闲时通过更新对象管理器来重绘对象,也就是ObjMgr调用了UpdateRender后,将消息分发给所有被他管理的对象(称为被观察者),然后对象通过调用自己的UpdateRender进行重绘,每次对象绘图数据改变,通过调用UpdateRender后生成了一个新的帧,这样就看上去物体活动了,而且不紧紧是一个物体在活动,如果某个物体销毁了,无需渲染,可以从对象管理器中将渲染对象从渲染列队中踢除,当然UI管理器也可以这么做,不过UI必须最后渲染,因为它必须出现在图层的顶层。
[[it] 本帖最后由 yuki 于 2008-5-1 20:51 编辑 [/it]]