地图编辑器求救!!!

kerlw 2003-11-04 12:48:39
地图编辑器的重要性,俺就不提了~:)
最近想要学习游戏编程,预备写一个RPG小游戏,剧本非常简单,不值一提,基本上已经想好。游戏开头部分也已经写好。用的是dx8。现在已经可以在片头之后,选择“新游戏”“读进度”“退出”(当然,除了退出是一个有用的选择,别的代码都没有加全:P)
目前遇到的问题,就是地图了,所以,想要先写个地图编辑器。如果说,用dx写,在全屏模式下,我觉得就只是形成代码而已了,因为基本上通过前面的学习,已经掌握了用dx写这么一个功能简单的地图编辑器的方法了。但是,我的想法是写一个象英雄无敌那样的基于MDI的地图编辑器。
功能简单介绍如下:
1》初始化,弹出一个对话框,要求用户输入地图的大小。然后将该数值保存在两个全局变量中。这里的大小,是指地图的格子的多少,而地图的实际大小就是该数值乘以设定的游戏地图单位方格的大小。
---》该功能已经完成
2》根据上面得到的数值,初始化一个空画板(窗口)
---》应为地图的实际大小往往超过了屏幕的大小,所以,不知道怎么初始化一个地图大小的空画板。
3》选择一种图元,在画板上设置地图(为简单起见,只设置了3种图元,保存在一个bmp文件中,每个的大小为50*50)
---》如果2成功,这一步也不成问题了。就是建立一个CBitmap对象,然后用一个50X50的rect来loadimage,然后再相应的DC的鼠标对应的rect内blt就可以了。难点就在于对于鼠标位置的对应于地图的方块的换算上。
4》保存地图。设计出一种地图的数据结构,然后保存在*.map中,便于在游戏中读出。
---》也不难实现,就是对CFile的一些操作。
问题就在于第二步上。我还没有完全搞清楚MDI,而且基于我自己对于DC的了解,似乎也不能象dx那样,创建一个任意大小的off-screen surface。
特与此求救!!请熟悉MDI的以及DC的朋友,或者可以用MDI的其他方法实现的朋友,给个指点。最好是能帮忙写段源码,暂且认为地图大小为20X20个方格,每个方格大小为50X50象素。
最好能够发份源码以及程序说明到我信箱,感激不尽!
whencani@sina.com OR kerl_w@yahoo.com.cn
...全文
44 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
skinny 2003-11-04
  • 打赏
  • 举报
回复
不给分的话,没人回答的哦,呵呵
skinny 2003-11-04
  • 打赏
  • 举报
回复
不需要那么大的画板啊!

你只需要建立一个二维数组来存放图元就可以了,假如地图是32*32,而编辑器的编辑窗口只有20*15,你就只用根据当前编辑窗口显示的那部分,把与它相应的数组中的图元画出来就可以了啊。

比如:当前窗口显示0,0到19,14这一个矩形区域,那么你就画地图数组MAP[0][0](假设)到MAP[19][14]的图元。如果地图拖动,那么就重画。

8,305

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧