- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《碰撞检测和收集物品:如何使用cocos2d制作基于tiled地图的游戏:第二部分.》.pdf
版权属于:子龙山人 首发于:泰然论坛
(译)碰撞检测和收集物品:如何使用cocos2d 制作基于tiled 地图的游戏:第二部分
整理:Taiyangmobile (泰然论坛管理组)
免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之
用,切勿进行商业传播。同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、
发表该翻译稿之人无任何关系。谢谢合作!
原文链接地址:
/1186/collisions-and-collectables-how-to-make-a-t
ile-based-game-with-cocos2d-part-2
程序截图:
这篇教程是《如何使用cocos2d 制作基于tiled 地图的游戏》的第二部分。在上一个教程
中,我们创建了一个简单的基于tiled 地图的游戏,里面有一个忍者在沙漠里寻找可口的西瓜!
在第一部分教程中,我们介绍了如何基于tiled 创建地图,怎样把地图增加到游戏中去,以
及如何滚动地图来跟随主角移动、还有如何使用对象层。
在这部分教程中,我们将会介绍如何在地图中制作可以碰撞的区域,如何使用tile 属性,
如果收集游戏物品并且动态地修改地图、如何确保你的忍者不会吃得太饱!
因此,让我们继续我们上篇教程所学并且让它更像一个真实的游戏吧!
tiled 地图和碰撞检测
你可能已经注意到了,目前我们的忍者可以毫无阻拦地穿过墙壁和障碍物。他是一个忍者,
但是即使是真正的忍者,他也没这么厉害啊!
因此,我们需要找到一种方法,通过把一些tile 标记成“可碰撞的”,这样的话,我们就可以
防止玩家穿过那些点的位置。有很多方法可以做得到(包括使用对象层),但是,我想向你们展
示一种新的技术。我认为它更高效,并且也是一次好的学习锻炼--使用一个元层(meta layer)
和层属性。
版权属于:子龙山人 首发于:泰然论坛
让我们开始动手吧!再一次启动Tiled 软件,点击“Layer\Add tile Lyaer...”,并且命
名为“Meta” ,然后选择OK。我们将在这个层里面加入一些假的tile 代表一些“特殊tile”。
因此,现在我们需要增加我们的特殊tile。点击“Map\New tileset...”,在你的Resources
文件夹下面找到mate_tiles.png,然后选择打开。设置Margin 和Spacing 都为1并点击OK。
这时,你可以在Tilesets 区域看到一个新的标签。打开它,而且你会看到2个tile:一个
红色的和一个绿色的。
这些tile 并没有什么特殊的东西--我只是制作了一个简单的图片,里面包含了一个红色的和
一个绿色的半透明tile。接下来,我们把红色的tile 当作是“可碰撞的”(后面我们会用到绿色的),
然后,合适地绘制我们的场景。
因此,确保Meta 层被选中,选择stamp 工具,选择红色的tile,然后把任何你不想让
忍者通过的地图都涂一遍。当你做完的时候,应该看起来像下面的图示一样:
接下来,我们可以设置tile 的属性,这样的话,我们在代码中就可以识别这个tile 是“可以
碰撞的(穿不过去的)”。在Tileset 里面的红色tile 上在,右击,选择“Properties...“ 。增加
一个新的属性,叫做”Collidable“,并且设置成”Ture“:
版权属于:子龙山人 首发于:泰然论坛
(由于版本的关系,我这里补充我上传的Tiled 编辑器(java 版本)如何设置
属性!!!)
首先,选择TileSets--TileSetManager,并选中meta_tiles,出现如下
所示图:
然后点击右下角的“Edit”按钮(就是垃圾回收站下面那个图标),接下来会出现下图所示:
(接着就选中红色tile 和绿色tile,然后添加Collidable 属性并设置为True 就ok 啦)
保存map,并返回Xcode。在HelloWorldScene.h 中做如下改动:
// Inside the HelloWorld class declaration
CCTMXLayer
您可能关注的文档
最近下载
- 人教PEP版六年级上册Unit 5 What does he do 单元整体教学设计.pdf
- 2021年新生儿感染:抗菌药物预防性与治疗性使用指南解读(全文).pdf
- 《数字图像处理教程》试题库.pdf VIP
- 学校意识形态工作计划.pdf
- 战略模拟软件CESIM全攻略(课堂PPT).ppt
- 中国碳交易政策对可持续经济福利的影响.pptx VIP
- 反三违(典型“三违”)行为清单.docx
- (高清版)B-T 3836.1-2021 爆炸性环境 第1部分:设备 通用要求.pdf VIP
- 人教版高一化学必修一知识点梳理.docx
- 人教pep版英语三年级上册阅读理解专项复习试卷测试题(含答案).doc
文档评论(0)