Android cocos2d 弹弓游戏 Catapult 源代码

Android 性能分析工具介绍 本文作者:The Performance,原文发布于:Android Performance。 原文首发于知识星球:The Performance。 正文 Paul Graham 在其著作 <黑客与画家> 中断言:“不同语言的执行效率差距正变得越来越大,所以性能分析器(profiler)将变得越来越重要。目前,性能分析并没有受到重视。许多人好像仍然相信,程序运行速度提升的关键在于开发出能够生成更快速代码的编译器。代码效率与机器性能的差距正在不断加大,我们将会越来越清楚地看到,应用软件运行速度 阅读详情


根据下面两篇文章, 我一步步实践, 成功让程序在 Samsung Galaxy G2 上运行起来, 感谢这些贡献者

http://www.raywenderlich.com/4756/how-to-make-a-catapult-shooting-game-with-cocos2d-and-box2d-part-1

http://mssyy2010.blog.51cto.com/4595971/847000




至于程序的设计和逻辑, 上面两篇文章介绍得很清楚了

现在把源代码提供给大家, 可以从下面的 link 下载

https://github.com/PaynePan/share_src/archive/master.zip


使用方法

1)  解压到cocos 目录下一级, 比如:  d: \cocos2d-2.1rc0-x-2.1.2\catapult\

        catapult 下有目录  Classes 和 proj.android

2)  import  proj.android 到 eclipse 中

3)  在 cgywin 中 运行 proj.android/build_native.sh, 生成 libgame.so 

4)  再在 eclipse 下编译运行


说明

有几个注意点,说明一下

项目直接使用已经运行的 HelloWorld 改写过来,  主要就是改写  HelloWorldScene.cpp, HelloWorldScene.h


1)  build_native.sh 资源文件的 copy 部分略去

coco2dx Android 最头痛的就是 cygwin中运行 build_native.sh 复制资源文件,  那些操作和 win7 下的权限不兼容

所以去掉了 copy 部分, 反正这些文件已经在 proj.android/asset中了


2) 由于 cocos2d 也在不断改进, 现在代码与原文有两处不同

原文

    CCDelayTime *delayAction = CCDelayTime::actionWithDuration(0.2f);
        CCCallFunc *callSelectorAction = CCCallFunc::actionWithTarget(this, callfunc_selector(HelloWorld::resetGame));
        this->runAction(CCSequence::actions(delayAction,
                                            callSelectorAction,
                                            NULL));     
现在
    scheduleOnce(schedule_selector(HelloWorld::resetGame),0.2f);     


原文

    CCTouch *touch = (CCTouch *)touches->anyObject(); 
    CCPoint location = touch->locationInView(touch->view()); 
    location = CCDirector::sharedDirector()->convertToGL(location); 

改为

CCTouch* touch = (CCTouch*)( touches->anyObject() );
	CCPoint location = touch->getLocation();



3) 在tick中 增加了再次装弹的逻辑

当1秒类炮弹位置的变动 在1.5 米以内, 就再次装弹

	if (m_bulletBody && m_bulletJoint == NULL) 
	{ 
		b2Vec2 position = m_bulletBody->GetPosition(); 
		CCPoint myPosition = this->getPosition(); 
		CCSize screenSize = CCDirector::sharedDirector()->getWinSize(); 
		
		static int count = 0;
		if ( ++count % 60 ==0) {
			
			CCLog("++++++++after  x:%f, y:%f", position.x, position.y);
			if ( abs(m_bullet_position.x-position.x) < 1.5f &&
					abs(m_bullet_position.y-position.y) < 1.5f ) {
				attachBullet();
				return;
			}
			m_bullet_position = position;
		}
		
		// Move the camera. 
		if (position.x > screenSize.width / 2.0f / PTM_RATIO) 
		{ 
			myPosition.x = -MIN(screenSize.width * 2.0f - screenSize.width, position.x * PTM_RATIO - screenSize.width / 2.0f); 
			this->setPosition(myPosition); 
		} 
	} 



现在可以简单地玩游戏了.







Cocos2d-x 4.0 实现的完整三消(消消乐) countdownLabel = Label::createWithTTF("时间: 60", "fonts/Marker Felt.ttf", 36);1. **方块图片**:准备6张不同颜色/图案的方块图片,命名为 `block_1.png` ~ `block_6.png`,放入 `Resources` 目录。_scoreLabel = Label::createWithTTF("分数: 0", "fonts/Marker Felt.ttf", 36);// 每个方块10分。// 连锁消除加分更多。 阅读详情

相关推荐

cocos2dx + Box2D 弹弓类游戏源码及图片资源

本资源用于对cocos2dx + Box2D下的手游开发学习,用于对旋转关节,子弹添加 ,子弹发射的学习。

Android 2023最新最全面性能分析工具介绍(非常详细)从零基础入门到精通,看完这一篇就够了(附安装包)

Metric 类型的另外一个好处是它的内容格式是比较固定的,因此可以通过预编码的方式进行数据存储,空间的利用率会更紧凑进而占用的磁盘空间就更少。最简单的应用就是数据格式的存储上,如果使用 Log 类型,一般采用的是 ASCII 编码,而 Metric 使用的是整数或者浮点等固定 byte 数的数据,当存储较大数值时显然 ASCII 编码需要的字节数会多于数字型数据,并且在进行数据处理的时候你可以直接使用 Metric 数据,而不需要把 Log 的 ASCII 转换成数字型后再做转换。

logic1001的博客 3360

史上最全android cocos2d游戏源码大全

此源码直接导入到eclipse 直接可以运行,对于初学者来说是一个非常有价值的参考源码api,参考案例源码在项目的org.cocos2d.tests 这个包下面。

15款Cocos2d-x游戏源码

From: http://blog.okbase.net/iphone/archive/4619.html

Game Developer 6759

cocos2d-x游戏源码

一个cocos2d-x的闯关类游戏。我也是下的比人的,不过在2.1.0的版本下调通了,仅供学习

cocos2d-x完整RPG游戏源代码(配套资源)

cocos2d-x完整RPG游戏源代码(配套资源) 此资源为源码配套资源,非源码 下载的同学请注意 此资源 源码链接为 https://download.youkuaiyun.com/download/daoxwj/9598901

Cocos2d-x加Box2D制作弹弓类游戏

文章原版为英文版,地址链接在文章尾部给出。原文代码版本为object-c版,本文代码版本为C++版。对原文大部分内容进行了翻译,并将对oc版的说明更改为C++版。文章cocos2d-x版本cocos2d-1.0.1-x-0.11.0。 如何用Box2D和cocos2d-x制作弹弓类游戏 第一部分 这是一篇由ios教程团队成员Gustavo Ambrozio上传的博客。一位...

weixin_33882443的博客 266

基于cocos2d制作的跑酷游戏源码以及资源文件

这里包括游戏的所有源码 , 以及游戏的所有资源文件。

cocos2d-x 实现 愤怒的小鸟 橡皮筋

经过摸索, 终于实现了angry birds中的橡皮筋. 首先要知道它用Weld Joint(焊接关节), Mouse Joint(鼠标关节)和Distance Joint(距离关节). Weld Joint: 把小鸟固定在弹弓上. Mouse Joint: 用来拖拽小鸟.这个好理解. Distance Joint: 用来保持小鸟和弹弓之间的距离. 但是用的时候得有技巧. 步骤:

easykoo的专栏 5666

cocos2d-x完整RPG游戏源代码

cocos2d-x完整RPG游戏源代码

Cocos2d-x 3.x游戏开发实战源码

Cocos2d-x 3.x游戏开发实战源码

Android cocos2d 弹弓游戏 Catapult 源代码 完成

本文是 Android cocos2d 弹弓游戏 Catapult 源代码 的后续 参考下面两篇文章, 完成了较为完整的弹弓游戏 http://mssyy2010.blog.51cto.com/4595971/856611 http://www.raywenderlich.com/4787/how-to-make-a-catapult-shooting-game-with-c

span76的专栏 1701

从零开始,用Cadence Virtuoso手把手仿真一个1.5V LDO(附完整电路与仿真脚本)

本文详细介绍了如何使用Cadence Virtuoso从零开始仿真一个1.5V LDO,包括环境准备、电路导入、Testbench构建、核心仿真类型分析以及高级调试技巧。通过完整的电路与仿真脚本,帮助读者掌握LDO设计与仿真的关键技术,提升电路设计能力。

weixin_31309419的博客 443

java弹弓类游戏_Android cocos2d 弹弓游戏 Catapult 源代码

根据下面两篇文章, 我一步步实践, 成功让程序在 Samsung Galaxy G2 上运行起来, 感谢这些贡献者http://www.raywenderlich.com/4756/how-to-make-a-catapult-shooting-game-with-cocos2d-and-box2d-part-1http://mssyy2010.blog.51cto.com/4595971/847...

weixin_39725844的博客 225

3D点云修复实战:用PCN网络快速补全缺失的激光雷达数据(附代码)

本文详细介绍了PCN(Point Completion Network)网络在3D点云修复领域的实战应用。针对激光雷达数据常见的缺失问题,PCN通过端到端的深度学习架构,直接处理原始点云,实现由粗到精的快速补全。文章深入解析了其核心思想与编码器-解码器架构,并提供了完整的环境搭建、数据准备、模型实现、训练评估及在真实场景下的优化策略与代码示例,为自动驾驶、机器人等领域的开发者提供了高效的数据修复解决方案。

weixin_29041195的博客 392

基于STM32的双串口同时工作的详细指南(含完整代码示例)

STM32是STMicroelectronics(意法半导体)公司推出的一系列基于ARM Cortex-M内核的微控制器,广泛应用于嵌入式系统中。STM32系列微控制器具有高性能、低功耗和丰富的外设接口,适用于各种应用场景。USART(Universal Synchronous/Asynchronous Receiver/Transmitter)和UART(Universal Asynchronous Receiver/Transmitter)是串口通信的两种方式。

m0_57781768的博客 3805

记录一个android性能优化宝藏级总结

发现一个android性能优化文章宝藏级总结,太赞了

Fearless_BOY的博客 1822

基于YOLOv5/v8/v10的答题卡填涂识别与评分系统(附数据集+UI界面+完整代码)

在教育信息化的大背景下,传统的手工阅卷方式正在被智能化技术所取代。答题卡识别作为标准化考试的核心环节,其准确率和效率至关重要。本文将详细介绍如何利用YOLO系列目标检测算法(YOLOv5、YOLOv8、YOLOv10)构建一个答题卡填涂识别与评分系统。文章从数据集的制作与标注开始,逐步深入到模型的训练、评估与对比,最后基于PyQt5设计了一个用户友好的桌面端UI界面,实现了从图像输入到得分输出的全流程自动化。

YOLO 634

抖音 Android 性能优化系列:新一代全能型性能分析工具 Rhea(1)

很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从哪里入手去学习,对此我整理了一些资料如果你熟练掌握以下列出的知识点,相信将会大大增加你通过前两轮技术面试的几率!这些内容都供大家参考,互相学习。①「Android面试真题解析大全」PDF完整高清版+②「Android面试知识体系」学习思维导图压缩包《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

2401_83916326的博客 1284

AMBA-CHI协议详解(七)

本节描述该协议包含的支持系统保序需求的机制。

Crazzy_M的博客 1155

【YOLO系列】YOLOv8详解:模型结构、损失函数、训练方法及代码实现

YOLOv8是Ultralytics团队2023年推出的高效目标检测框架,在速度与精度平衡、多任务支持和易用性方面实现突破。模型采用改进的CSPDarknet主干网络、C2f模块和SPPF加速结构,结合PAN-FPN特征融合和解耦检测头设计,支持目标检测、实例分割和关键点检测任务。创新性地使用CIoU定位损失、Focal Loss置信度损失和动态样本分配策略,显著提升检测性能。实验表明,YOLOv8较前代模型mAP提升5-10%,在TensorRT加速下可达1000FPS,提供5种尺寸灵活选择,成为实时目标

一碗白开水一 2778

植物大战僵尸经典开发步骤

植物大战僵尸一直是一个很受欢迎的经典的小游戏,我主要用cocos2d-android做了一个类似的小demo,在这里主要介绍一下我做给这个小demo。 开发前各种准备工作 做一个小游戏我们首先要有一个地图吧,所以我用tiled这个软件来制作地图,安装和使用都挺简单了,画好后用notepad++打开看一下图片路径对不对,然后把图片...

weixin_34051201的博客 1669

JavaScript教程-字符集,Unicode转义序列,标识符,数据类型,数字,未定义值,浮点数,字符串,引用数据类型,类型检测,类型转换,运算符,关系运算符,

前端学习

VAN 211

cocos2dx小游戏源码(消灭星星)

才开始了解cocos2dx,为了练手,开发了一下消灭星星这款游戏,游戏资源在网上下载的,游戏也是参考自android平台消灭星星这款游戏。现提供游戏源码,已在android平台测试过,有兴趣的同学可以下载下来自己看看,欢迎修改和讨论。 使用cocos 2.2.2版本 源码及资源下载链接:http://download.youkuaiyun.com/detail/xiaozhi0999/7113113

XIAOZHI0999的专栏 1万+

封装POD与PinMap文件总结学习-20250516

芯片封装外形图(POD)和PinMap是芯片设计和制造中的关键文档。POD详细描述了芯片的物理尺寸、引脚布局和封装类型,而PinMap则提供了芯片封装上各个引脚的位置、名称和功能的详细信息。这些文档在芯片设计、制造和应用过程中起到“地图”的作用,帮助设计人员理解芯片的物理和电气特性。在PCB设计中,POD用于确定socket的footprint和pogo的选型,而PinMap则用于器件的合理布局和布线。这些信息对于确保芯片的正确安装和功能至关重要。

歌颂苦难的行为是无耻的; 2363

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

11个cocos2d-x2.2.3经典游戏源代码

http://download.youkuaiyun.com/album/detail/837

成长之路 1031

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: Android CPU Memory 资源测试和分析 (使用工具 0xbench + python + vmstat)
下一篇: Android cocos2d 弹弓游戏 Catapult 源代码 完成
span76
博客等级 码龄18年 117粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值