如何用我所理解的cocos2d x-x来做一个基于TileMap地图块的游戏

主题 : 关于用tilemap做一张大地图
级别: 新手上路
可可豆: 48 CB
威望: 38 点
在线时间: 55(时)
发自: Web Page
来源于&&分类
关于用tilemap做一张大地图&&&
最近使用tilemap做了张的大地图  然后编译android发现内存达到了94M 请问有什么减少内存的方法?
&&资源图是一张的png   资源大小为3.64M&&新来的第一次发帖求调教....
级别: 新手上路
可可豆: 48 CB
威望: 38 点
在线时间: 55(时)
发自: Web Page
考虑直接用一张的图片当地图绘上去&&内存 效率&&比tilemap差多少
级别: 新手上路
可可豆: 48 CB
威望: 38 点
在线时间: 55(时)
发自: Web Page
使用的版本为cocos2d-x-3.0rc1
级别: 版主
UID: 267887
可可豆: 634 CB
威望: 763 点
在线时间: 384(时)
发自: Web Page
一个格子就很大了 所以用小图拼接 物价用代码绘制
级别: 新手上路
可可豆: 48 CB
威望: 38 点
在线时间: 55(时)
发自: Web Page
回 3楼(god_like) 的帖子
恩 意思是我直接绘大图片上去?
级别: 新手上路
UID: 279346
可可豆: 145 CB
威望: 141 点
在线时间: 82(时)
发自: Web Page
楼主这个问题解决了吗?我也碰到这个问题。
级别: 圣骑士
UID: 234523
可可豆: 2332 CB
威望: 1567 点
在线时间: 444(时)
发自: Web Page
回 楼主(eywprtiue) 的帖子
2d-x不是要求最大为么
没有最好,只有更好!
级别: 新手上路
可可豆: 173 CB
威望: 173 点
在线时间: 116(时)
发自: Web Page
如果图片资源重复的比较少的话,还是别用tilemap了,直接分块加载把。不过你这个图片有点问题,我的的地图60fps,全跑遍了也没到90多m
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版用户名:lovegame911
文章数:15
评论数:26
访问量:73564
注册日期:
阅读量:1297
阅读量:3317
阅读量:583398
阅读量:468477
51CTO推荐博文
有段时间没更新博客了,最近一直忙项目,下面就把我最近的新成果给大家分享一下。
近段时间主要是在研究开发工具与游戏制作的结合,大家知道工欲善其事必先利其器,一款好的方便的开发工具能够极大的提高游戏的开发效率,特别是在制作关卡这些东西的时候,这也就是为什么国外现在有这么多的开发引擎工具,特别是3d的比如unity3d,unreal,cryEngine等等都是基于这种需求而开发的。
那么我这个新系列的博客也就是教大家如何使用TileMap这款地图编辑器来提高大家在制作2d地图方面的效率。
这边我可能主要介绍的是一些高级用法,2d地图编辑器的一些基础用法如果大家还不清楚的就自己去百度一下,查查资料了。
下面进入正题,首先提供一下TileMap的下载地址
TileMap是一款开源的地图编辑器,使用qt开发,因此可以跨平台,而且因为开源,所以大家还可以根据自己的需求进行加工和修改,这一点是很重要。
这里为刚接触游戏开发的同学插一句,为什么要开发地图编辑器呢,我们就用整张图做地图不就好了吗?
这里简单回答一下,好处有两个:
第一个是极大的减少用图的面积,这样就减少了在运行时系统占用的内存,具体原理问你们的boss或者度娘。
第二个好处是可以通个打散的地图方便在格子中做很多事件,方便判断,比如做地图行走障碍判断,做触发事件判断。
下载之后安装,打开编辑器如下。
点击新建地图,弹出如下方框
编辑器地图方向可以选择&&正常&或者&45度&两种,这个是很多其他编辑器没有的功能,大部分的编辑器都只支持单一方向的地图编辑,所以这也是我选择TileMap这款编辑器来开发的原因。
地图大小表示地图格子数的多少,30*30 的话就是一共900个格子
右边的块大小表示单个格子的大小,这里是64*32, 一般正方向地图块大小都是一致的,这边我们使用32*32。
按确定之后如下图
下面我们添加图片资源
点击&地图&-&新图块,弹出下框
点击&浏览&按钮选择一张图片,这里我们用cocos2d-x里面自带的很有代表性的图片,路径如下
cocos2d-2.0-x-2.0.2\samples\TestCpp\Resources\TileMaps\tmw_desert_spacing.png
这里块的宽高就是32,说一下边距和间距的意思,
边距就是指两个块之间横向的间隔
间距就是指两个块之间纵向的间隔
我们看到图片上有很多黑色线,一般大家之前做的图块是不会加这些间隔线的,但是可能有特殊情况,那现在我们就遇到了,所以现在如果我们这边不加间距和边距的话,切出来的图块就会出现问题。
大家可以看见这里是我没有设置间距和边距切出来的图块,明显的偏差的像素会越来越多,
下面我们把这张图块先删除,再重新添加原图块
点击图块下方的&垃圾桶&按钮删除图块。
下面我们看看设置边距间距之后,这里我们都设置为1个像素
好了,我们看见图块的分割白线已经把图片上本身的黑色线完美覆盖,说明我们的设置是正确的,下面就可以用图块来拼接一张地图了
这一排就是工具按钮,一般做地图的时候用前3个按钮
第一个是图章,单个刷,或者一个矩形的图块刷用这个工具
第二个是填充,
第三个是橡皮擦
大家试一下就知道用法了,记住,在图块层上的时候可以用鼠标一次框选一个矩形的图块哦,然后用第一个图章刷就很方便快速了。
好了,大家都练习一下吧。
最后导出就点击& 文件-&另存为就行了。
这里再教大家几个小技巧:
选中图块,按键盘&X&快捷键可以实现图块原地水平翻转,&Y&是垂直翻转,
&Z&键可以循环90度翻转。非常实用。
还有一个随机模式的按钮
这个按钮的作用是当选中之后
然后在地图块上框选一大块地图,这时候在地图上绘制的时候会随机从你选中的很多图块中里面选取一个绘制在地图上效果如下
另外,所有TileMap中的指令大家可以在这里查到
现在应该知道学好英语的重要性了吧
&本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
16:57:35 16:58:03 15:14:10 15:14:57使用TileMap制作游戏,在cocos2d-x中使用(三) - jinyeweiyang的专栏 - CSDN博客
使用TileMap制作游戏,在cocos2d-x中使用(三)
本篇博客出自,转载请注明出处:
游戏么,得有输赢、敌人。
地图编辑的一些方法,传送门:/andyque/archive//2039481.html
下面加入敌人:
接下来使敌人移动,这里跟官方的不太一样。我采用的是在屏幕上显示的怪能移动。
做出来的有点小问题:isRunning函数似乎有问题,不能用。嫌麻烦自己没写类。
所以有个小Bug,有兴趣的读者可以改改,自己写个子类,然后设置个动没动的标志。
循环的回调是必要的,因为玩家的位置会更改,目标坐标会改变。
有怪了就得打,接下来是发射飞镖。
因为是触控,没法用键盘那么高端,这里采用切换模式的方法,即移动和发射飞镖两种模式切换。
切换的显示要用CCMenuItemToggle来做,把它放在CCMenu中,再放在ScoreLayer中。
发射飞镖就用之前那个最简易的忍者游戏的代码就行。
碰撞检测也一样,检查飞镖与敌人是否相遇,另外要加入敌人与玩家相遇的逻辑。
最后加上输赢界面:吃掉西瓜就赢,碰到怪物就输。
用的之前简易忍者游戏的那个GameOverScene。具体可以看我的源码。
编译运行吧,少年。
我感觉我这版游戏,关卡设计还是有点难的,打了半天才赢...
源码:http://download.csdn.net/detail/fansongy/5327755
我的热门文章}

我要回帖

更多关于 cocos2d x做棋盘 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信