步骤如下:1.初始化的时候开启: this->setKeypadEnabled(true);2. 在需要响应的.h 中添加如下两个虚函数:12virtualvoidkeyBackClicked();//Android 返回键virtualvoidkeyMenuClicked();//Android 菜单键3. 在.cpp类中实现如上两个函数即可,如下,World是个Layer1234567voidWorld::keyBackClicked(){ CCLog("Android- KeyBackClicked!");} voidWorld::keyMenuClicked(){ CCLog("Android- keyMenuClicked!");} 原文:http...
1.cocos2dx中提供了三种基本的数据类型:CCString(字符串),CCArray(数组),CCDictionary(数据字典(哈希的功能))2.CCString的用法class CCString : public CCObject,可见CCString本质是一个CCObject,因此支持create方法和其他CCObject的特性a.CCString的创建:CCString *str=CCString("abc");CCString *str=CCString::create("1234");//CCObject的特性CCString *str=CCString::createwithformat("id%d",3);//格式化初始化static CCStr...
cocos2dx tolua传递参数分析: tolua_Cocos2d_CCNode_addChild00 == void CCNode::addChild(CCNode *child) tolua_Cocos2d_CCNode_addChild01 == void CCNode::addChild(CCNode *child, int zOrder) tolua_Cocos2d_CCNode_addChild02 == void CCNode::addChild(CCNode *child, int zOrder, int tag)上面是使用tolua把C++转到lua。上面三个分别相应不同的參数个数。我们这里分析一下最后一个: /* method: addChild of class CC...
cocos2dx的资源文件有两种存在方式(只代表我在实战项目中用到的):单个图片文件和plist文件因项目原因一个项目中两种资源形式并存,所以在生成CCSprite时,涉及两种构建的方式,构建ccsprite的方式不同,对应生成遮罩的方法也不同。Cocos2dx-lua 中提供了生成遮罩的方法,但是在具体的项目中,未必能满足项目的需求。我所参于的项目是模拟经营类的,需要根据不同图片,动态生成遮罩,所以使用display.newMaskedSprite(__mask, __...
游戏基本的逻辑功能之前已经完成,之后的问题就是如何去控制游戏中的方块。在电脑上,很显然就是使用键盘最为直接,而在手机上,考虑上要让操作方便,这里采用的是用重力感应控制左右移动,点击屏幕进行方块的旋转。下面,就是加入这些事件的方法:加入键盘事件,需要重写方法:virtual void onKeyPressed(cocos2d::EventKeyboard::KeyCode keyCode, cocos2d::Event* event); virtual void onKeyReleased(cocos2d::EventKeyboard::...
图片加密的方法有很多种,在cocos2dx中,经常会使用TexturePacker来加密图片,方法如下:打开TexturePacker,点击Add Sprite添加图片,在output栏下的Texture format选择pvr.gz格式, 点击Content protection加密按钮,创建加密密钥,点击create new key来创建一个新的密钥,clear/disable删除密钥,save as global key可以将当前密钥保存成全局密钥,以后可以使用,use global key 可以使用save as global key保存的全局密钥。 点...
最近一直都在x86设备上进行游戏开发,就c++层和Android java层倒没有什么要特别注意的(除了需要注意一下修改Application.mk指定平台外),在c++崩溃的时候,很多时候看不到堆栈,只能看到一个信号,所以由于工作需要,使用google breakpad来进行异常捕捉。谷歌被墙很麻烦,索性就把breakpad打包放这里供需要的童鞋下载,google breakpad下载。1.下载google breakpad下载地址是 http://code.google.com/p/google-breakpad/source/...
现在C++智能指针有无数个实现了,多一个也无所谓。哈。 这个智能指针是专门为cocos2dx 2.2.x定制的。主要是为了方便使用,同时又要遵循现有的cocos2dx的内存管理。特实现这样一个智能指针。在使用的时候不需要考虑retain或release操作,也不需要new或delete操作!下面是实现代码//在很多时候,类的成员是CCObject的子对象,为了保证对其正常使用,又要遵循cocos2dx的内存管理,特实现了这样的一个智能指针,方便使用。 #ifndef _X_...
重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27689713郝萌主友情提示:人是习惯的产物,当你习惯快乐时。记忆里的不愉快就消失了。游戏開始之前经过之前的学习,我们已经能够开发一个最主要的 Cocos2d-x 游戏了,这个游戏包含一张背景图片和一个退出游戏的按 钮,可是这距离完毕一个完整、有用的游戏还非常遥远。在这一章节中,我们将首先抛开Cocos2d,介绍游戏开发的基本概...
前文介绍了简单的富文本组件RichText,现在我们来了解下由freeType库做出来的第三方组件,可以直接显示html页面,并且能够实现超链接,和触摸事情。步骤:1、在github中 下载 ,地址再贴下: https://github.com/happykevins/cocos2dx-ext , 下载这个项目,github的下载方式自行百度。2、将下载的文件中的extensions 目录下面的cells、dfont、RichControls 这三个文件夹和 renren-ext.h 头文件拷贝进cocos2dx2.2.3的同名目录e...
在lua中,能够通过元表来实现类、对象、继承等。与元表相关的方法有setmetatable()、__index、getmetatable()、__newindex。详细什么是元表在这里就不细说了,网上非常多介绍,这里主要讲与cocos2dx相关联的部分。在lua-binding库中extern.lua里,有例如以下方法:--Create an class. function class(classname, super)local superType = type(super)local clsif superType ~= "function" and superType ~= "table" thensuperType ...
本帖基于quick cocos2dx2.2.6版本。序列帧动画:顾名思义就是在一定的时间内播放多张图片。基本原理非常简单,在一个固定的位置1秒时间内轮询播放有限数量的不同图片。比如1秒中播放24张图(FPS=24)在quick引擎中可以通过framwork中的transition.lua文件中得transition.playAnimationForever(target, animation, delay)接口来实现动画的播放,其源码如下:function transition.playAnimationForever(target, animation, delay)loc...
一、简介最近正在学习cocos2d中的lua游戏开发,因为lua开发的热更新特性,大家开发游戏好像都会优先选择lua作为开发语言。但是遇到一个问题,用lua写一些简单的程序没什么问题,但是一旦需要一个复杂的类,在lua中直接写就感觉有些吃力。所以想到,可以把游戏开发中比较复杂的模块使用c++完成,然后导出到lua,让lua可以轻松调用。我从头到尾完整地完成了cocos2dx-3.x中自定义类的导出过程,在网上查了好多资料,也碰到了很多错误,...
安装包 所需要的安装包如下: Cocos2d-x 3.4,地址 http://cn.cocos2d-x.org/download#anchor2。其他安装包百度下载网盘链接:http://pan.baidu.com/s/1c0hRJig 密码:kfzqAndroid SDk。 NKD,Cocos2d官方推荐使用R9D版本,使用R10D会出现找不到srand函数错误。 Eclipse,我使用的是最新的Luna标准版。 ADT,用Eclipse开发Android程序需要用到ADT环境。 JDK,java开发环境。 AVD ARM支持,默认的Android模拟器是没有ARM支持...
出处:http://www.himigame.com/iphone-cocos2d/444.html感谢原作者的辛勤整理-----------1------------------------对应字体样式源码:CCLabelTTF *myLabel = [CCLabelTTF labelWithString:@"AppleGothic" fontName:@"AppleGothic" fontSize:20]; myLabel.position=ccp(70, 50); [self addChild:myLabel]; CCLabelTTF *myLabel2 = [CCLabelTTF labelWithString:@"HiraKakuProN-W6" fontName:@...