《加入敌人和战斗:如果使用cocos2d制作基于tiled地图的游戏:第三部分.》.pdf

《加入敌人和战斗:如果使用cocos2d制作基于tiled地图的游戏:第三部分.》.pdf

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《加入敌人和战斗:如果使用cocos2d制作基于tiled地图的游戏:第三部分.》.pdf

版权属于:子龙山人 首发于:泰然论坛 (译)加入敌人和战斗:如果使用cocos2d 制作基于tiled 地图的游戏:第 三部分 整理:Taiyangmobile (泰然论坛管理组) 免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用, 切勿进行商业传播。同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表 该翻译稿之人无任何关系。谢谢合作! 原文链接地址: /2010/06/22/enemies-and-combat-how-to-ma ke-a-tile-based-game-with-cocos2d-part-3/ 程序截图: 这篇教程是 Ray Wenderlich 的《如何使用cocos2d 制作基于tiled 地图的游戏》系列 教程的后续。如果你还没有看过前面两部分的教程,可以在我的博客上找到另外两篇我翻译Ray 的教程。 在第二部分教程中,Ray 教大家如何在地图中制作可碰撞的区域,如何使用 tile 属性,如 何制作可以拾取的物品以及如何动态修改地图、如何使用“Heads up display”来显示分数。 在这个教程中,我们将加入敌人,这样的话,你的忍者就可以向它们扔飞镖啦,同时还增加 了胜利和失败的游戏逻辑。但是,首先,你得下载一些相关的资源文件。 这个zip 文件里面包含以下内容: 1.一个敌人精灵 2.一个忍者飞镖,从 Ray 的《如何使用cocos2d 制作一个简单的 iphone 游戏》中 拿过来的。 3.两张按钮的图片,在教程的后面有使用。 在继续学习之前,不要忘了把这些资源加入到你的工程中。 增加敌人 到第二部分教程结束的时候,游戏已经很酷了,但是它还不是一个完整的游戏。你的忍者可 以轻而易举地四处游荡,想吃就吃。但是,什么时候玩家会胜利或者失败呢。我们不妨想象一下, 有2个敌人在追杀你的忍者,那么这个游戏会显得更加有趣。 敌人出现的位置点 版权属于:子龙山人 首发于:泰然论坛 好了,回到Tiled 软件(此教程使用java 版),然后打开你的Tile 地图(TileMap.tmx )。 往对象层中加入一个对象,在 player 附近就行,但是不要太近,否则敌人一出现玩家就 Game over 了。这个位置将成为敌人出现的位置点,把它命名为“EnemySpawn1” 。 对象组(对象层中的所有对象组成一个对象组)中的对象被存储在一个 NSMutableDictionary 中,同时使用对象名字作为key。这意味着每一个位置点必须有一个唯 一的名字。尽管我们可以遍历所有的key 来比较哪个是以“EnemySpawn”开头,但是这样做效 率很低下。相反,我们采用的做法是,使用一个属性来表示,每个给定的对象代表一个敌人出现 的位置点。 给这个对象一个属性“Enemy” ,同时赋一个值1.如果你想在这个教程的基础上扩展,并且 增加其它的不同类型的敌人,你可以使用这些敌人的属性值来表示不同类型的敌人。 现在,制作6- 10个这种敌人出现位置点对象,相应的它们离 player 的距离也要有一些 不同。为每一个对象定义一个“Enemy”属性,并且赋值为1.保存这张地图并且回到Xcode。 开始创建敌人 好了,现在我们将把敌人实际显示到地图上来。首先在 HelloWorldScene.m 中添加如下 代码: //in the HelloWorld class 版权属于:子龙山人 首发于:泰然论坛 -(void)addEnemyAtX:(int)x y:(int)y { CCSprite *enemy = [CCSprite spriteWithFile:@enemy1.png]; enemy.position = ccp(x, y); [self addChild:enemy]; } // in the init method - after creating the player // iterate through objects, finding all enemy spa

文档评论(0)

iyjt + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档