Tiled Map Editor(三)
来源:互联网 发布:网络直播方案 编辑:程序博客网 时间:2024/05/16 12:39
出处:http://blog.csdn.net/zhy_cheng/article/details/8363028
上一篇中完成了再地图中添加西瓜,让hero吃,这篇将会完成这个游戏。
1.添加敌人
在对象层中加入敌人,
注意,加入了一个键值对,键为n,值为1。这个键值对主要就是为了区分敌人和英雄。将敌人画在地图上。
这段代码从对象层中获得所有对象,判断键为n的是否为1,有则为敌人,加入到地图中,并且让敌人运动。
在运动完后调用goon函数:
在goon函数中继续调用自己,这样敌人就一直向英雄运动。
2.使英雄可以攻击
现在游戏的点击是使得英雄移动向指定的位置,所以,为了使得英雄有攻击,可以添加一个状态,状态为true的话,控制英雄移动,状态为false的话,控制发射子弹。在头文件中加入
在屏幕上添加菜单
在toggleGame函数中添加控制状态改变的代码:
当状态为false的时候,hero发射子弹:
发射完子弹后,让子弹移动到地图外,通过hero的位置和点击的位置,可以知道发射子弹的角度,然后通过相似三角形对应边成比例的原理,可以知道x超出地图的位置。这样让子弹移出地图。
3.后期工作
现在地图上该有什么的都有了,就只剩下判断胜负的问题了。具体而言,英雄吃完所有西瓜就赢了,被敌人碰到了就输了。这就是要求做碰撞检测。在cocos2d-x中判断碰撞很好做,我只说一说原理,具体实现没有什么难度。
将所有的敌人加入到一个CCArray中,将所有的子弹加入到另外一个CCArray中,在这个CCLayer中加入一个schedule,每隔一定的时间对敌人的CCArray与子弹的CCArray做碰撞检测,如果碰撞了,移除碰撞的敌人和子弹,还要检测敌人和hero的碰撞检测,如果碰撞了,就结束游戏。
具体怎么检测碰撞,我们可以得到子弹的CCRect,敌人的CCRect,英雄的CCRect,使用CCRect的成员函数
来判断碰撞。
好了,使用Tiled制作游戏就结束了,最后这个游戏该怎么样做的更好,从以下几个方面考虑
1.增加更多的敌人
2.增加更多的物品
3.地图变大,变复杂
4.增加关卡
5.制作更好的游戏画面
6.显示英雄的生命值
阅读全文
0 0
- Tiled Map Editor(三)
- Tiled Map Editor(三)
- Tiled Map Editor(三)
- Cocos2d-x Tiled Map Editor(三)
- Cocos2d-x Tiled Map Editor(三)
- Tiled Map Editor(一)
- Tiled Map Editor(二)
- Tiled Map Editor(一)
- Tiled Map Editor(一)
- Tiled Map Editor(二)
- Tiled Map Editor
- Tiled Map Editor(一)
- Tiled Map Editor(二)
- Tiled Map Editor libgdx 讲解
- Tiled Map Editor创建地图
- Cocos2d-x Tiled Map Editor(一)
- Cocos2d-x Tiled Map Editor(一)
- Cocos2d-x Tiled Map Editor(二)
- 1025. PAT Ranking (25)
- dlib 02 dlib人脸关键点检测器训练
- 机房重构---添加删除用户(删除DataGridView选定行,更新数据库)
- 记录自己微信开发趟过的那些坑
- java类加载器笔记
- Tiled Map Editor(三)
- mysql索引的操作
- bzoj1180OTOCI 动态树(Linked-Cut-Tree)
- 基于S3C2440的UART传输小结
- MySQL用户管理
- 简单Java四则运算
- C#压缩打包文件
- 关于自动化测试环境的集成(Jenkins+RobotFramework+TestLink+SVN)
- HDU 5583 Kingdom of Black and White(模拟)