绘制简单的游戏地图并运行
来源:互联网 发布:金小桃 大数据 编辑:程序博客网 时间:2024/06/10 12:24
转自:http://xiandanboke.com.cn/cocos2d-xmota2.html
本文介绍下绘制简单的游戏地图并再Iphone模拟器中运行
1、打开Xcode,新建工程,选择cocos2dx项目模版,如下图:
2、点next,在出现的界面里输入游戏名称mota,公司名称自定义,设备选择iphone,如下图:
点击next ,在点create,创建项目。运行,确保项目能正常运行。
3、打开Tiled地图编辑器,新建一张地图,地图方向选择“正常”,代表垂直90度视角。地图大小为13X13,表示地图的宽和高皆为13个图块。块大小为32X32代表每个图块的尺寸,单位是像素,如下图:
4、新建完地图后,需要准备一张图片素材用来绘制地面和墙壁。假设已经准备好了素材,名字为terrain.png,其中包括两个图块,第一个是地面(灰色岩石地面),第二个是墙壁(棕色砖墙),宽和高都是32px,如下图:
5、将素材文件terrain.png复制到mota工程下面的Resource目录里,然后通过菜单栏的“地图-》新图块”添加图片素材。导入完成后,可以看到Tiled编辑器右侧下方的图块面板中出现了terrain便签。现在我们就可以使用导入的图块进行绘制了。选择工具栏中的填充工具,在选择terrain里的第一个图块,点击地图上的任意位置,地面层就被我们填充成为灰色的岩石地面了。
6、接下来绘制墙壁。先在右侧图层面板的图层上双击重命名为floor(记住这个名字,并取为英文,在cocos2dx引擎里解析时需要用到)。然后新建一个块层,重命名为wall,wall层在floor层的上方,将来引擎绘制时,上方的层会覆盖下面的图层。接着选择图章刷工具,选中棕色砖墙图块,开始绘制墙壁。编辑完后的图片如下图,并把地图保存到mota工程中的Resource目录下面,命名为0.tmx。
7、接下来,我们把编辑好的游戏地图添加到游戏中。打开mota中的HelloWorldScene.cpp,将方法init中多余的代码删除,仅保留“退出”按钮。然后使用cocos2d-x引擎的CCTMXTileMap类解析地图。
CCTMXTiledMap *map=CCTMXTiledMap::create("0.tmx"); this->addChild(map);
保存代码,运行,结果如下图:
注意:绘制游戏地图时应注意的问题:
1、Tiled编辑器支持在同一个块层使用多个图块文理,但cocos2d-x引擎的CCTMXTileMap类仅支持一个块层对应一个纹理。所以我们需要尽量将图块纹理分类及合并,在每个块层上仅用一个纹理图来绘制。
2、CCTMxTiledMap类不允许任何一层中没有任何元素,否则解析时会报错,解决办法时:要么将图层删掉,要么在图层上放置一个透明的图块,让用户无法察觉。
3、是否将图块导出到外部图块(tileset),这一点需要看游戏本身的需要。如果你的外部图块中给图块配置了大量信息,比如怪物的属性和物品的功能等,这些对每个地图都是通用的,这时导出成外部图块就省去了重复的复制工作。但由于Tiled编辑器不支持加密,外部图块的数据会被其他人看到。所以对于正式发布的游戏,步建议将影响游戏平衡性的数值配置在外部图块中。
- 绘制简单的游戏地图并运行
- cocos2d-x实例-魔塔游戏(2)-绘制简单的游戏地图并运行
- 改写《魔塔》前篇01:绘制最简单的游戏地图
- 手机游戏地图绘制软件
- 游戏地图的绘制--卡马克算法(转)
- Android游戏开发之地图编辑器的使用以及绘制地图 (四)
- (转)Android游戏开发之地图编辑器的使用以及绘制地图 (四)
- Android游戏开发之地图编辑器的使用以及绘制地图 (四)
- Android游戏开发之地图编辑器的使用以及绘制地图
- J2ME高速游戏地图绘制经验
- 【转】J2ME高速游戏地图绘制经验
- 塔防类游戏如何绘制网格地图 (OnDrawGizmos())
- 【HGE 教程04】游戏地图绘制 平面地图
- 【HGE 教程04】游戏地图绘制 斜面地图
- 写一个简单的汇编语言并运行
- 在python3中,绘制地图,并根据人口数量绘制不同颜色
- J2ME游戏中地图,背景的绘制 --- 图片切割的应用
- 游戏编程之地图绘制(用到字符串的宽字节的转化)
- 黑马程序员 动态代理
- Android中设置无标题栏、全屏、横竖屏
- Ubuntu下如何搭建完美Python开发环境
- MFC中取得程序目录
- session 原理
- 绘制简单的游戏地图并运行
- 解密QQ/MSN文件传输原理
- java反射详解
- 最常见的6种网站流量统计工具介绍
- 2014阿里巴巴面试总结
- Hack 只针对IE
- serverAdd.sin_addr.s_addr
- Linux GCC常用命令
- 探讨贴