Android cocos2d 弹弓游戏 Catapult 源代码 完成
来源:互联网 发布:客户端解析域名出错 编辑:程序博客网 时间:2024/04/30 23:31
本文是 Android cocos2d 弹弓游戏 Catapult 源代码 的后续
参考下面两篇文章, 完成了较为完整的弹弓游戏
http://mssyy2010.blog.51cto.com/4595971/856611
http://www.raywenderlich.com/4787/how-to-make-a-catapult-shooting-game-with-cocos2d-and-box2d-part-2
现在把源代码提供给大家, 可以从下面的 link 下载
https://github.com/PaynePan/share_src/archive/master.zip
相对前一个版本改进如下
1) 增加了 MyContactListener 进行碰撞监听
2) 增加了粒子系统, 作为碰撞的动画
3) 增加了 GameOverScene, 游戏结束后用户可以重新开始或者退出
要点
加入 Scene 的 Node 不用delete
加入到 HelloWorld 中的 Node ( 就是用 this->addChild(sprite, 0) ), 不需要析构
Cocos2d 有机制自动析构这些对象
b2World 对象需delete
我们创建了 m_world = new b2World(gravity);, 应该delete它
m_world 中的 entity, 就是用下面的方法创建的实体, b2World 有机制自己去析构
m_world->CreateBody()
m_world->CreateJoint()但不是b2World 中的实体, 比如 contactListener 需要析构
作为Delegate的 Scence 需要remove
当Scene 析构的时候,如果 Scene 是 TouchDelegate, 要把它 remove 掉
CCDirector::sharedDirector()->getTouchDispatcher()->removeDelegate(this);
否则当 Scence 都不存在, Director 还会调用它的方法,引起 crash
析构的位置
当调用replaceScene 的时候
CCDirector::sharedDirector()->replaceScene(GameOver::scene());
下面的函数void HelloWorld::onExit() 被触发
void HelloWorld::onExit() {delete m_world;delete contactListener;CCDirector::sharedDirector()->getTouchDispatcher()->removeDelegate(this);}
我选择这个位置进行相关对象的析构, 程序跑起来还没发现问题.
- Android cocos2d 弹弓游戏 Catapult 源代码 完成
- Android cocos2d 弹弓游戏 Catapult 源代码
- Cocos2d-x加Box2D制作弹弓类游戏
- 用Box2D和cocos2d-x制作弹弓类游戏
- Cocos2d-x加Box2D制作弹弓类游戏
- (转)Cocos2d-x加Box2D制作弹弓类游戏
- Cocos2d-x加Box2D制作弹弓类游戏
- cocos2d-x加box2d制作弹弓类游戏 第二部分
- Cocos2d-x加Box2D制作弹弓类游戏
- Android基于box2d开发弹弓类游戏[0]
- Android基于box2d开发弹弓类游戏[四]-------------创建发射器
- Android基于box2d开发弹弓类游戏[五]-------------发射子弹
- 弹弓游戏2
- Cocos2d-x加Box2D制作弹弓类游戏(第一部分)
- Cocos2d-x加Box2D制作弹弓类游戏(第二部分)
- Android基于box2d开发弹弓类游戏[二]-------------游戏界面的搭建&移动游戏场景
- Android基于box2d开发弹弓类游戏[三]-------------创建游戏世界
- 使用Box2d和cocos2d-x从头开始制作一个弹弓类游戏系列教材的第二部分
- 自动将目录下所有文件生成超链接网页
- Windows Embedded CE 自动安装Cab文件
- Java对象的大小
- 菜鸟初学JQuery
- Android Service生命周期及用法!
- Android cocos2d 弹弓游戏 Catapult 源代码 完成
- 如何降低网站内容的重复率
- 用于 Web 应用程序项目部署的 Web.config 转换语法
- 工作经验和工作经历区别很大
- linux抓包工具
- ubuntu 12.04下LAMP安装配置
- 嵌入式系统 Boot Loader 技术内幕
- excel读取为sql精简版
- UVA 1391 Astronauts(2-SAT + 输出方案)