CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  专题开发/技术/项目 >  游戏开发

地图编辑器求救!!!

楼主kerlw(科尔)2003-11-04 00: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  
  问题点数:0、回复次数:2Top

1 楼skinny(冷虚空)回复于 2003-11-04 16:15:52 得分 0

不需要那么大的画板啊!  
   
  你只需要建立一个二维数组来存放图元就可以了,假如地图是32*32,而编辑器的编辑窗口只有20*15,你就只用根据当前编辑窗口显示的那部分,把与它相应的数组中的图元画出来就可以了啊。  
   
  比如:当前窗口显示0,0到19,14这一个矩形区域,那么你就画地图数组MAP[0][0](假设)到MAP[19][14]的图元。如果地图拖动,那么就重画。Top

2 楼skinny(冷虚空)回复于 2003-11-04 16:17:13 得分 0

不给分的话,没人回答的哦,呵呵Top

相关问题

  • 地图编辑器是怎么做的?
  • 关于2D地图编辑器问题
  • 谁能提供45度视角的地图编辑器?100分
  • cs地图怎么做的?有没有cs的地图编辑器?
  • 地图编辑器怎么写?能讲一下具体步骤吗?
  • 想作一个和魔兽争霸那样的3D地图编辑器
  • 编辑器
  • php编辑器
  • HTML编辑器
  • JAVA编辑器

关键词

  • 数值
  • 游戏
  • 选择
  • 地图
  • 编辑器
  • 大小
  • 画板
  • 数组
  • 初始化
  • 方格

得分解答快速导航

  • 帖主:kerlw

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo