cocos2dx

【笔记】试玩 cocos2d-x-3.0beta on android

牧云@^-^@ 提交于 2019-12-01 09:10:08
试玩 cocos2d-x-3.0beta on android 1 环境准备 Cocos2d-x : v3.0beta Android SDK : Revision 22.3(SDK Tools) Android NDK : Revision 9c Apache Ant : 1.9.3 Released Python : 2.7.6 Android SDK Manager: ps: 这次儿我把环境都提升到了最新状态,除了 Java 仍为jdk-7u45。 1.1 前提说明 首先,以下都是在Win7 32位上操作的。 其次,这里假设上述环境都安装在了E:盘。 1.2 配置环境变量 ANDROID_SDK_ROOT = E:\android-sdk-windows NDK_ROOT = E:\android-ndk-r9c ANT_HOME = E:\apache-ant-1.9.3 PY_HOME = E:\Python27 JAVA_HOME = C:\Program Files\Java\jdk1.7.0_45 NDK_TOOLCHAIN_VERSION = 4.8 ANDROID_SDK_ROOT 太长了,可以另外设个: SDK_ROOT = E:\android-sdk-windows 然后: Path += %SDK_ROOT%\tools;%SDK_ROOT%

cocos2d-x中通过Jni实现Java与C++的互相调用

混江龙づ霸主 提交于 2019-11-29 20:38:46
cocos2d-x中通过Jni实现Java与C++的互相调用。 cocos2d-x用开发者提供了一个类JniHelper,提供了java与c++之间互调的jni解决方案。 笔者所开发的“史上最坑爹的游戏”项目中使用到了JNI,为此专门定义了一个类JniUtil. 头文件JniUtil.h中需要引入如下两个.h文件: #include <jni.h> #include "platform/android/jni/JniHelper.h" 通过C++调用Java 声明一个函数,专门用于处理从C++调用Java的方法,所有调用Java的地方都走这个函数。 这样可以减少jni代码,通过Json来传递具体的调用指令,在java那边通过switch来进行区分,然后再通过java去调用具体的方法。 static void callJni(const char * data); 在JniUtil.cpp文件中如下实现: void JniUtil::callJni(const char *data){ JniMethodInfo minfo;//定义Jni函数信息结构体 //getStaticMethodInfo 次函数返回一个bool值表示是否找到此函数 const char * jniClass = "com/xxxx/xxxx/xxxxxxxx";//这里写你所要调用的java代码的类名

手游加速器原理分析和代码实现

老子叫甜甜 提交于 2019-11-29 19:22:47
前段时间手游加速器很火。以光环为代表,进行C层的HOOK,既可以实现加速,又可以免Root保证手机安全,看起来很不错。 于是决定学习一下,并且自己用代码实现。经过一段时间的努力,基本上能实现和光环差不多的功能。 1.首先是基础知识。我们先讲基础知识,再讲如何Hook 何为加速?加速就是改变应用的运行速度。怎么样才能加速?根据不同的引擎有不同的加速方法。关键还是在认识引擎上。 市面上大多数的 游戏引擎大致可以分为 cocos2dx、Unity3d、 AdobeAir、白鹭、OpenGL。接下来我们分开来讲解各个引擎的加速方案。 (1)cocos2dx 引擎一般是会有一个cocos2dx引擎动态库。由于cocos2dx是开源的软件,所以cocos2dx的引擎动态库的名字可以自定义。但是判断是不是cocos2dx引擎的游戏可以查看Java代码目录,是否有org/cocos2dx/目录,如果有这个目录就是cocos2dx引擎。 coco2dx游戏有个setTimeScale函数,这个函数用来控制运行时间。timeScale的值越大运行速度越快,timeScale值越小运行速度越慢。但是一般的情况下开发者不会去调用setTimeScale。所以我们基本没机会通过HOOK来改变setTimeScale的值。但是我们可以通过引擎的Director来实现。 Director

Cocos2dx游戏开发系列笔记5:继续润色《忍者飞镖射幽灵》

ε祈祈猫儿з 提交于 2019-11-29 05:04:51
周末了,哲哲在旁边看《爸爸去哪》,骨头继续玩cocos2dx, 首先,如果你新加了CPP和H文件,记得修改项目目录下的proj.android\jni文件夹的Android.mk文件。 [html] view plain copy LOCAL_SRC_FILES : = hellocpp /main.cpp \ ../../Classes/AppDelegate.cpp \ ../../Classes/HelloWorldScene.cpp \ ../../Classes/Welcome.cpp \ ../../Classes/About.cpp VS2012里一直跑的OK,可放在android真机上运行就报错了。 11-22 21:44:53.391: E/cocos2d-x assert(4257): D:\Java\cocos2d-x-2.2/cocos2dx/base_nodes/CCNode.cpp function:addChild line:627 [html] view plain copy < span style = "font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);" > 真机上新加的类一闪而过,于是仔细看了看,init里只有一个label

Cocos2dx游戏开发系列笔记3:牛刀小试->忍者飞镖射幽灵的Demo

試著忘記壹切 提交于 2019-11-27 20:28:25
就是这个例子,应该很简单,主要用到的有:精灵的移动,触摸,碰撞检测。 赶紧搞定,待会还要陪哲哲来几局爱消除。 首先在Scene初始化方法里添加精灵: CCSprite *player =CCSprite::create("Player.png",CCRectMake(0,0,27,40)); player->setPosition(ccp(origin.x+ player->getContentSize().width/2,origin.y+visibleSize.height/2)); this->addChild(player,1); 注意,以前的版本初始化方法叫spriteWithFile 修改Scene背景色 class HelloWorld : public cocos2d::CCLayerColor if ( !CCLayerColor::initWithColor(ccc4(255,255,255,255)) ) 随机在屏幕右侧添加幽灵 void HelloWorld::addTarget() { CCSprite *target=CCSprite::create("Target.png",CCRectMake(0,0,27,40)); CCSize winSize=CCDirector::sharedDirector()->getWinSize(); int

Cocos2dx游戏开发系列笔记4:怎样新加一个Scene类?

时光毁灭记忆、已成空白 提交于 2019-11-27 20:27:57
有点晚了,眼睛开始痒痒了,赶紧记录点东西 刚请教了sw同学,跟听D也扯了会,苦命的孩子,今晚他们游戏发新版,前端必须加班,骨头好是羡慕。。。 前几个笔记的例子都是zai一个Scene.cpp里完成的,想新加一个,结果老报找不到类。 解决方法: 把新加的类从 prog.win32中拷贝到classes中,然后项目里倒入现有项,ok! 新加了一个菜单页,打算放几个menu 图片资源可以从cocos2dx的demo里搜 [cpp] view plain copy CCSize vSize=CCDirector::sharedDirector()->getVisibleSize(); CCPoint origin=CCDirector::sharedDirector()->getVisibleOrigin(); CCLabelTTF *label=CCLabelTTF::create( "LazyGame" , "Arial" ,33); label->setPosition(ccp(vSize.width/2,vSize.height-label->getContentSize().height)); this ->addChild(label); CCMenuItemImage* item1 = CCMenuItemImage::create( "btn-play-normal.png

Cocos2dx游戏开发系列笔记9:android手机上运行《战神传说》,并解决横竖屏即分辨率自适应

泄露秘密 提交于 2019-11-27 20:27:43
上节说到cygwin下成功编译出so文件,下面我们要把游戏运行在android上。 开始干活! 其实步骤可以参考 Cocos2dx游戏开发系列笔记6:怎样让《萝莉快跑》的例子运行在vs和手机上 1 用eclipse打开这个项目,注意不要选择 Copy projects into workspace。因为可能一些配置用的是相对路径,不然可能会找不到一些东西。 2 修改项目属性: (1)C/C++ builder的build command为NDK目录下的ndk-builder (2)添加C/C++ Builder Environment NDK_MODULE_PATH,值为cocos2dx目录和cocos2dx目录\cocos2dx\platform\third_party\android\prebuilt。 好了,运行吧,一边看着旁边的视频,一边关注着console的编译动态。 如果一路没错误,固然好, 不过没有bug,就不长经验了,而且本文也没啥好写的了。 T。T 没通过,bug如下 [html] view plain copy [2013-12-07 20:16:06 - MoonWarriors] Unable to resolve target 'android-8' [2013-12-07 20:34:04 - Dex Loader] Unable to execute

Cocos2dx游戏开发系列笔记6:怎样让《萝莉快跑》的例子运行在vs和手机上

风流意气都作罢 提交于 2019-11-27 20:27:26
感谢听D同学赞助的Demo。 那怎样让它运行在vs中呢: 1 使用cocos2d-x-2.2\tools\project-creator文件夹中的create_project.py脚本,生成一个demo。 2 拷贝Classes和Resources文件夹到刚生成的demo对应文件夹下 3 用vs打开脚本生成的cocos2dx demo,此时那个项目下只有默认的几个类,我们需要手动添加其他的cpp和h文件 4 修改游戏 ,这一步可有可无!急于搭配环境的同学可以跳过这一步。但骨头觉得修改游戏是最大的乐趣。 找到GameMainScene.cpp,注释掉99行100行,这样主角永远也掉不下去了。 游戏整体节奏很慢,可以加快! 找到GameObjMap.cpp中所有的 CCMoveBy函数,如CCMoveBy::create(20,ccp(-960,0)), 将20改为2,游戏整个提速10倍。 就是下图那样。 // if(hero->state == 0) // isherodrop(); 5 接下来需要让游戏运行在手机上。 首先拷贝Resources里的所有资源到\proj.android\assets文件夹下 5.5 修改proj.android\jni里的android.mk文件 ,将所有的cpp文件加上。这条容易漏! 6 用eclipse打开这个项目 ,注意不要选择 Copy

cocos2dX之一——安卓环境搭建

左心房为你撑大大i 提交于 2019-11-27 20:26:52
cocos2dx是什么就不多解释,直接进入正题。 传闻cocos2dx的主要开发力量在中国,所以必须得要支持啊。 假定已经有了诸如vs2012以上版本,安卓sdk,ndk环境已经搭建完毕,只说如何建立cocos2dx的环境。 参考文章: Windows 7环境下搭建Cocos2d-x 3.3环境并配置Android交叉编译环境 这篇文章的内容经验证,十分准确,唯一不对的地方在于最后导入项目时报错,此文中说是“删除引用的库文件”,其实这样是不对的,应该是向Eclipse中导入cocos2dx的library工程,路径就是~cocos2d-x-3.3\cocos\platform\android\java,导入此工程即可。 展示一下界面: 来源: oschina 链接: https://my.oschina.net/u/1267266/blog/372922

Cocos2dx游戏开发系列笔记1:一个崭新的开始,cocos2dx2.2+ndkr9+Cygwin

十年热恋 提交于 2019-11-27 05:37:51
Android开发者做cocos2dx最大的绊脚石,不是c++,而是环境的搭建... 骨头也是费了半天劲才终于在真机上看到了那个类似猕猴桃的头,这里简单记录一下。 环境:(算比较新了2013.11.17) cocos2dx 2.2 ndk r9 cygwin vs2012 adt 22.3.0 andorid 4.4 步骤关键点: 用cygwin编译时需要 改权限: takeown /f * /A /R,icacls * /t /grant:r everyone:f 添加ndk路径:home文件夹的.bash_profile文件:NDK_ROOT=/cygdrive/d/eclipse/android-ndk-r9,export NDK_ROOT 进项目编译时路径要改为反斜杠 用eclipse打开项目时需要 项目,属性,c/c++ build,编译命令改为:D:\Java\android-ndk-r9\build_native.sh 环境项新增环境变量:D:\Java\cocos2d-x-2.2;D:\Java\cocos2d-x-2.2\cocos2dx\platform\third_party\android\prebuilt android项目adk选的4.4 配置文件中,用的默认的android:minSdkVersion="9",很多教程说要修改,我这个版本没改。