![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
cocos2dx android架构分析
程序员入门进阶
职场老鸟,互联网十年从业生涯,分享 [Java,Python,安卓,AI,爬虫] 技术文章,学习资料, 热点趣闻等。
展开
-
第六节cocos2dx的小试牛刀
游戏第五步,修改小的部分:1:修改去掉左下角的显示内容:// turn on display FPS//pDirector->setDisplayStats(true);注掉这句即可。然后我们来看一下触屏响应方式:HelloWorldScene.h 增加:using namespace cocos2d;virtual bool ccTouchBegan(CCTouch原创 2013-11-18 22:45:59 · 1218 阅读 · 0 评论 -
第十六节自动配置cpp文件的mk
#一个不需要批量增加文件的mk 写法LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := game_sharedLOCAL_MODULE_FILENAME := libgame#获取cpp 所在路径MY_CPP_PATH := $(LOCAL_PATH)/../../Classes#过滤出所有的原创 2013-11-29 22:04:06 · 977 阅读 · 0 评论 -
第十五节cocosdx的定时器
定时器分析:CCNode 里面有相关接口,主要为每一帧刷新以及定时刷新:每一帧刷新:scheduleupdate();然后实现:void XXX::update(float fDelta){CCNode::update(fDelta);自己的代码}定时代码为:void CCNode::schedule(SEL_SCHEDULE selector)// 一原创 2013-11-29 22:03:29 · 1338 阅读 · 0 评论 -
第十四节cocosdx的声音接口
SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic("1.mp3");SimpleAudioEngine::sharedEngine()->playBackgroundMusic("1.mp3");SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();Simple原创 2013-11-29 22:02:45 · 1047 阅读 · 0 评论 -
第十三节cocosdx的按键增加过程
介绍如何在Cocos2dx 中处理Android os 的设备的Menu 和Back 案件的响应处理;其实很简单,步骤如下:1. 在需要响应的.h 中添加如下两个虚函数:12 virtual void keyBackClicked();//Android 返回键virtual void keyMenuClicked();//Android 菜单键2. .cpp 类中实现如上两个原创 2013-11-29 22:01:37 · 1180 阅读 · 0 评论 -
第十二节cocosdx的屏幕适配的问题
这节来说一下屏幕适配的问题:流程为:Cocos2dxRenderer.nativeInit(this.mScreenWidth, this.mScreenHeight);-->Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit-->CCEGLView *view = CCEGLView::sharedOpenGLView();vi原创 2013-11-29 22:00:48 · 1278 阅读 · 0 评论 -
第十一节cocosdx的内存管理机制
这节来描述一下cocosdx 的内存管理机制。我们通过cclayer.cpp 来进行分析,创建cclayer 的方式为CCLayer::creat();进入creat 函数去查看,可以看到CCLayer *pRet = new CCLayer();if (pRet && pRet->init()){pRet->autorelease();return pRet;}原创 2013-11-29 21:59:10 · 1174 阅读 · 0 评论 -
第十节初步探险
初步探险:路径为\cocos2d-x-2.1.4\samples\Cpp\HelloCpp\proj.android\jni\hellocpp main.cppJNI_OnLoad这个函数的触发条件为:java 虚拟机在加载动态库时触发。调用了JniHelper::setJavaVM(vm);PluginJniHelper::setJavaVM(vm); // for pl原创 2013-11-29 21:57:19 · 887 阅读 · 0 评论 -
第八节一个动画的设计
这节粘上一段代码吧, 一个动画的代码。这个在调试中发现一个问题CCSpriteFrame::createWithTexture 参数,在具体拿时出现问题,最后发现是平台给了一个计算的缩放比率,导致了真正的图片大小提供的便不会准确。CCTexture2D *pTexture=CCTextureCache::sharedTextureCache()->addImage("3.png");原创 2013-11-28 17:11:08 · 1019 阅读 · 0 评论 -
第三节hellocpp整体框架(二)
接着上文来说。我们继续来看Cocos2dxActivity.java 里面的init 函数。主要创建Cocos2dxGLSurfaceView 和new Cocos2dxRenderer()然后消息传递机制为:Cocos2dxGLSurfaceView 作为android 架构的接收按键和触屏消息,然后转给Cocos2dxRenderer去处理,这里面处理完毕,直接渲染。C原创 2013-11-14 12:55:52 · 1360 阅读 · 1 评论 -
第四节hellocpp整体框架(三)
第四节hellocpp整体框架(三)继续分析,这节讲一下简单架构:分析src\org\cocos2dx\lib 目录下的java 文件:想要显示一个目录下的所有文件,输出为文本信息,使用TREE path /F 命令这个目录下的文件为:Cocos2dxAccelerometer.javaCocos2dxActivity.javaCocos2dxBitmap.java原创 2013-11-14 12:57:09 · 2242 阅读 · 1 评论 -
第九节android.mk
这节来开讲JNI 的android.mk 文件结构:LOCAL_PATH := $(call my-dir)// 路径,固定格式include $(CLEAR_VARS)// 清除变量LOCAL_MODULE := game_shared//不清楚了,之前是作为编译lib 名使用LOCAL_MODULE_FILENAME := libgame// 编译出来的lib原创 2013-11-28 17:12:04 · 1293 阅读 · 0 评论 -
cocos2dx 第二节 hellocpp 源码分析 整体思路
hellocpp 源码分析 打开AndroidManifest.xml,看到基本配置信息:可以看到activity android:name=".HelloCpp" 知道启动的hellocpp.java查看java文件,看到public class HelloCpp extends Cocos2dxActivity{protected void onCreate(Bun原创 2013-11-12 12:55:56 · 1754 阅读 · 1 评论 -
cocos2dx 第一节 调通的hellocpp源码
历经千难万险,终于搞定了第一个demo程序,以下是操作步骤:1:导入cocos2d-x-2.1.4\cocos2d-x-2.1.4\samples\Cpp\HelloCpp\Classes到eclipse里面。注意不要点复制,直接引用原路径即可。2:将cocos2d-x-2.1.4\cocos2d-x-2.1.4\samples\Cpp\HelloCpp\Resources\ipad 下资原创 2013-11-12 12:54:23 · 1450 阅读 · 1 评论 -
第七节cocos2dx的架构揣测
继续来分析,接住上文。这节描述稍微轻松些,来看看总体框架。假如自己做游戏引擎,我们需要的会有哪些呢?游戏基本素材:游戏显示游戏推动时间管理内存管理刷屏机制按键触屏机制支持控件基本就这些,如果需要物理算法,加入物理引擎。观察所有的游戏引擎,基本思路是一致的。下来我们来看看cocos2dx 引擎的架构。导演为主架构,维护统筹管理。导演的直接下级,原创 2013-11-18 22:48:16 · 1201 阅读 · 0 评论 -
第五节cocos2dx的jni部分
继续上文分析,这节来分析cocos2dx 的jni 部分:目录为:cocos2d-x-2.1.4\cocos2dx\platform\android\jniDPIJni.cppDPIJni.hIMEJni.cppIMEJni.hJava_org_cocos2dx_lib_Cocos2dxAccelerometer.cppJava_org_cocos2dx_lib_C原创 2013-11-18 22:44:56 · 1918 阅读 · 0 评论 -
使用 Cocos2d-x 和粒子编辑器实现“天天爱消除”场景特效
引言Cocos2d-x引擎提供了强大的粒子系统,它在模仿自然现象、物理现象及空间扭曲上具备得天独厚的优势,为我们实现一些真实自然而又带有随机性的特效(如爆炸、烟花、水流)提供了方便。尽管如此,它众多的粒子属性还是着实让人头疼。因为如果要想自己编码写出炫丽的粒子效果,这里有太多的属性需要手动设置和调节。不管是对新手还是资深的老油条程序员来说,都存在不同程度的不便性。 效果转载 2014-04-12 11:34:07 · 1668 阅读 · 0 评论