注册 登录
编程论坛 C++教室

发一下我最近的研究成果“精灵动画编辑器”

flyue 发布于 2008-05-01 18:50, 3010 次点击
这个程序虽然未完成,但是其界面设计倒是挺麻烦的,这些工具条,对话条都可以拖动和改变大小。
在“图片”栏点右键弹出菜单,双击列表可以平面化显示所选择的图片。
可以打开所有Direct3D支持的图片格式。
目前“精灵编辑”的部分还没有添加.

只有本站会员才能查看附件,请 登录
15 回复
#2
yuki2008-05-01 20:43
我觉得先作一个XML Interface Parser,通过xml生成界面,所有使用的控件使用不同的类进行实现,每个类都继承一个标准的渲染接口(至少提供一个render函数,以及一个updateRender),通过调用updateRender进行重绘;界面完成以后,实现一个消息驱动,可以模仿以下C#的委托(实现消息投递),与控件进行关联,实现交互;一点小小的设想,仅供参考。

对了,至于Sprite动画的话,同样可以使用渲染公共接口,所有画面上的物体可以通过对象管理器实现,消息空闲时通过更新对象管理器来重绘对象,也就是ObjMgr调用了UpdateRender后,将消息分发给所有被他管理的对象(称为被观察者),然后对象通过调用自己的UpdateRender进行重绘,每次对象绘图数据改变,通过调用UpdateRender后生成了一个新的帧,这样就看上去物体活动了,而且不紧紧是一个物体在活动,如果某个物体销毁了,无需渲染,可以从对象管理器中将渲染对象从渲染列队中踢除,当然UI管理器也可以这么做,不过UI必须最后渲染,因为它必须出现在图层的顶层。

[[it] 本帖最后由 yuki 于 2008-5-1 20:51 编辑 [/it]]
#3
flyue2008-05-01 21:09
恩,你说的很有道理,我把Direct3D的重要函数和Texture,Font数据全都封装在了一个CDXGraphics类里,方便调用。纹理和字体数据放在一个双向链表中,可以无限添加。
绘制2D采用的是IDirect3DDevice::DrawPrimitiveUP函数,FVF采用D3DFVF_XYZRHW,可以不受世界矩阵的影响,只是不能旋转了。
我会尽快完成这个“SpriteEditor”,说实话,这个程序是我准备做游戏的动画编辑器。
#4
野比2008-05-02 00:37
yuki
#5
flyue2008-05-02 09:36
yuki是日语“游戏(ゅき)”的意思吧
#6
yuki2008-05-02 09:47
不是啦,
是雪的意思,雪(ゆき)
#7
sunkaidong2008-05-02 09:49
现在好多人学日语...呵呵
#8
野比2008-05-02 11:10
其实我是想说:yuki的思路是很赞的。。。
结果可能是手机的问题,后面的汉字就没发出来。。。
#9
yuki2008-05-02 11:17
其实没有什么,一些设计方法也是最近在公司做游戏项目才慢慢形成的,同时最近还在潜心研修设计模式,思路觉得一下子开阔很多,给大家一个分享罢了。
#10
野比2008-05-02 11:25
我接手的项目都是硬件....好痛苦哦
#11
yuki2008-05-02 11:38
呵呵,硬件的话的确,我在学校做过一次数据采集卡的项目,那真痛苦,整天看着板卡工作,看着led发光情况,很无聊,很枯燥的;做游戏很开心,每天还可以玩,工作轻松,所以我发誓以后就从事游戏行业。
#12
newyj2008-05-02 11:39
2楼 说的很深奥啊
一点也没有看懂 还要 多学习啊
#13
flyue2008-05-02 12:31
嘿嘿,大家多多努力啊
我忘了游戏是“ge-mu”
#14
中学者2008-05-02 12:39
偶也想搞游戏的,不过还没开始接触,希望以后可以多多讨论/先谢过了
#15
flyue2008-05-02 12:52
搞游戏既刺激又包含许多考验,虽然不是很容易的事,但是只要有耐心和毅力加上过硬的编程水平相信一定能成功的!
#16
野比2008-05-02 20:19
Observer 模式的效率怎么保证呢?Notify 太多的话一下就卡拉了...
1