cocos2d-x体验
文章平均质量分 91
cocos_Wei
代码伤我千百遍 我爱代码如初恋
展开
-
lua 闭包的概念
lua的闭包是个新概念,理解它需要个过程。今天在网上找了几篇文章看,不错,先记录下。1,lua闭包普通篇 http://hi.baidu.com/happynp/blog/item/b7736a1f7f65b3ffe0fe0b90.html2,lua闭包文艺篇 http://www.ibm.com/developerworks/cn/linux/l-cn-closure/3,lua闭包转载 2014-08-09 00:38:35 · 937 阅读 · 0 评论 -
关于cocos2dx 对tiled地图编辑器的使用
CC_BREAK_IF(! CCLayer::init()); count=0; _tiled=CCTMXTiledMap::create("tiled.tmx"); this->addChild(_tiled); //获取英雄的对象层,再根据层获取某英雄的对象 CCTMXObjectGroup *object =_tiled->objectGroupNamed("原创 2014-01-09 17:12:33 · 1463 阅读 · 0 评论 -
Cocos2d-x 中使用多线程
原文章在http://blog.csdn.net/huutu/article/details/9889447一直以为Cocos2d-x中只有事件队列,只有一个主线程。。。首先设置头文件[cpp] view plaincopyE:\Cocos2d-X\cocos2d-2.1rc0-x-2.1.2\cocos2dx\p转载 2014-01-08 15:25:00 · 1031 阅读 · 0 评论 -
cocos2dx如何解析json
由于项目需要json格式解析,一开始没接触过 所以比较烦恼,不过现在都可以理解了,给大家分享学习一下,我用的cocos2dx版本是2.2.1如下先添加头文件:#include "HelloWorldScene.h"#include "json_lib.h"using namespace std;USING_NS_CC;这里写了两个函数//这里为获取jsonvalue的值CSJs原创 2014-01-02 23:30:48 · 2374 阅读 · 0 评论 -
sqllite 数据加密以及转换数据类型
在HelloWorld类中添加函数int isExisted( void * para, int n_column, char ** column_value, char ** column_name ) { bool *isExisted_=(bool*)para; *isExisted_=(**column_value)!='0'; return 0; }在init()原创 2013-12-31 18:49:40 · 1426 阅读 · 0 评论 -
cocos2dx 2.2版本以上生成新项目
好久没有再接触cocos2dx了 发现现在有了不少变化 没有了模板生成,现在是需要另一种生成方式生成一个新项目,首先安装python2.7.x 下载地址为http://www.python.org/getit/ 下载默认安装完后 需要配置环境变量,在Path种配置如下图再点击cmd运行 输入python回车后如果出现表明成功配置好了最后得说说如何生成项目了,在c原创 2013-12-15 11:24:18 · 1073 阅读 · 0 评论 -
关于CCControlButton的运用
看到还是有人在问这个CCControlButton这个的如何用,刚好做项目的时候有用到,跟大家分享一下啦当然首先用到CCControlButton必须导入外部的拓展函数extensions以及#include "cocos-ext.h"头文件名(在我的另一博文有讲过了)在此我给大家分享我一段运用CCControlButton的代码吧我自己把定义button的封装起来了,如下CCCo原创 2013-11-24 22:43:31 · 1321 阅读 · 0 评论 -
cocos2dx 以box2d做个小车test
在看了一些box2d 知识后,做了个小车的demo 在HelloWorldScene.h中,我以一个矩形作为车的主体,请看以下 virtual bool init(); static cocos2d::CCScene* scene(); CREATE_FUNC(HelloWorld); void update(float time); virtual v原创 2013-10-19 20:59:30 · 2034 阅读 · 0 评论 -
关于物理引擎的使用,及其重力感应的小test
好久没写博文了,过去那些天比较忙,一直在做点别的东西,不过作为小菜的我也不忘记学习,现在跟大家分享下我的小知识吧!首先建立个带有box2d物理引擎的项目,在头文件中加入public: // Here's a difference. Method 'init' in cocos2d-x returns bool, instead of returning 'id' in cocos2d-原创 2013-06-26 19:21:09 · 2454 阅读 · 0 评论 -
cocos2dx中的CCCallFunc,CCCallFuncN,CCCallFuncND,CCCallFuncO比较
本文由qinning199原创,转载请注明:http://www.cocos2dx.net/?p=27首先看一张图片,表示了CCCallFunc的继承关系:1、CCCallFunc,回调,调用不带参数的函数:view sourceprint?1CCSequence::actions(CCCallFunc::actionWithTa转载 2013-10-14 14:43:55 · 1071 阅读 · 0 评论 -
cocos2dx 项目经验之截图设置弹出暂停界面
在项目开发时,发现如果用CCDirector::sharedDirector()->pause();之后精灵是做不了动作的,所以我寻求了另一种方法,原理就是要弹出暂停界面是就用push(暂停场景),及顾名思义推出一个暂停界面,将游戏界面暂停压入栈中,当暂停界面响应后(或做动作完后)就可以pop,及拿出意思,推出栈,及之前的游戏界面会继续开始。先新建一个暂停类PauseLayer下面是部原创 2013-10-10 16:21:28 · 5465 阅读 · 0 评论 -
简单骨骼动画编写
做个小骨骼动画demo给大家试试先。设置一个加载的label CCLabelTTF *l = CCLabelTTF::create("0.0", "Arial", 50); l->setColor(ccColor3B(ccBLUE)); addChild(l, 1, 10001); l->setPosition( CCPoint(visibleSize.width/2, visibl原创 2013-12-25 16:29:21 · 3476 阅读 · 0 评论 -
Cococs2d-x通过TexturePacker加密图片资源(Cocos2d-x方式)
TexturePacker最新版本中增加了一个新功能以防止你的产品资源被反编译出来。它被称为ContentProtection,即图片加密。但目前官方只支持Cocos2d-iphone的解密.TexturePacker作者说,不久Cocos2d-x也将集成解密功能.代码已经提交Cocos2d-x github官方库.(文章内容复制泰然论坛TexturePacker 图片加密,只是修改了相应部分转载 2014-01-09 17:22:33 · 8557 阅读 · 0 评论 -
在生成android版本时候出现的蛋疼问题Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1),
01-11 19:47:57.153: A/libc(27675): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 27675 (com.bs.game)出现这个问题我查了好久,在xcode上编辑以及跟windows上编辑都没有报错,查了好久这个错误是因为我在cpp中定义了一个内部全局变量,我以为能在函数外部给它付原创 2014-01-14 23:01:34 · 4925 阅读 · 0 评论 -
cocos2dx 之Vector
先说Vector吧。如果说C++的vector容器怎么用,如果我说太多肯定一下子就暴露了我菜鸟的身份。所以呢,在这里不过多阐述,也请大神绕路。所以,还是回到Vector的使用问题上吧。该怎么用?既然Vector是替代了Array,那就拿Array 和Vector进行对比吧。下面我就以创建 Sprite 精灵对象的容器为例介绍吧1、创建先创建两个精灵:转载 2014-07-30 11:32:35 · 1315 阅读 · 0 评论 -
点击交互的四种处理
1、概述 游戏也好,程序也好,只有能与用户交互才有意义。手机上的交互大致可以分为两部分:点击和输入。其中点击更为重要,几乎是游戏中全部的交互。在Cocos2d-x 3.0中,更改了dispatch机制。同时加入了两种新的交互形式:listener 和touchEvent回调。加上先前版本中的点击函数回调,与重写layer层的touch消息响应,构成了一个相对完整的交互模式。先上一原创 2014-08-04 23:56:23 · 2278 阅读 · 0 评论 -
cocos2dx3.0 使用Physicals代替Box2D和chipmunk
1、 概述 游戏中模拟真实的世界是个比较麻烦的事情,通常这种事情都是交给物理引擎来做。首屈一指的是Box2D了,它几乎能模拟所有的物理效果。而chipmunk则是个更轻量的引擎,能够满足简单的物理需求,比如最常用的的碰撞检测等。这些引擎在使用的过程中有个令人讨厌的地方,它们参数太多了。通常为了初始化一个简单的场景要写很多代码。在cocos2d-x 3.0版本中,出现了一个新类族—原创 2014-08-01 00:14:10 · 1120 阅读 · 0 评论 -
Cocos2dx 3.0 话说ValueMap的一般使用
这次就说ValueMap吧,别问我这是什么,自己去Value.h里看!当然了,在这个谷歌“已死”的年代,不建议你去百度,因为百度上根本搜不到和ValueMap有关的词,不信你试试,反正我瞎说的。ValueMap的作用和ValueVector一样,只能存放数据类型的元素。其他不多说看,直接看一些常见的使用:1、往ValueMap中添加一个元素:[cpp] view转载 2014-07-30 13:40:07 · 2211 阅读 · 0 评论 -
关于cocos2dx 3.0rc在mac 上的创建项目以及发布android
首先下载cocos2dx3.0rc , 记得下载ant ,ndk, sdk,下载跟eclipe一起下载下就有的,到http://www.eclipse.org/downloads/ 这里下载,ant我是在这里下载的 http://ishare.iask.sina.com.cn/f/66944701.html ndk在http://developer.android.com/tools/sdk/原创 2014-04-12 14:57:14 · 1777 阅读 · 1 评论 -
在cocos2dx3.0 lua教程 自己写的类连接lua 使lua能调用自己类的函数
我们可以在lua上面编写cocos2dx 用lua调用到cocos2dx的api 是因为在lua_cocos2dx_auto这类函数里面建立的连接,大家可以参考然后自己写做连接。如我一下建立一个类 如buildingclass Building : public Node{public: Building(const std::string &fileName);原创 2014-03-31 18:31:06 · 2120 阅读 · 0 评论 -
cocosdx3.0 lua项目 从cocostudio中到处得ui 获取button 以及button监听
local winsize=cc.Director:getInstance():getWinSize() local layer=cc.Layer:create() local scene=cc.Scene:create() n=2 local function touchEvent(sender,eventType) cclog(sender:g原创 2014-03-06 10:54:32 · 4790 阅读 · 0 评论 -
cocos2dx3.0 lua项目创建cpp文件时候不能导入extensions头文件时无法使用或报错
在遇到这个问题时纠结了很久之前使用了用这个#include "../cocos2d/extensions/cocos-ext.h"导入似乎可以了,不过最终在编译的时候还是报错了我是用xcode的,最后是在Search Paths 的User Header Search Paths 中添加这$(SRCROOT)/../cocos2d,$(SRCROOT)/../cocos2d/exstens原创 2014-03-03 23:46:15 · 1378 阅读 · 0 评论 -
lua继承c++类
local MyScrollView =class("MyScrollView",function () local scrollview = cc.ScrollView:create() -- _minScale=scrollview._minScale -- _maxScale=scrollview._maxScale return scro原创 2014-02-28 10:36:51 · 2341 阅读 · 3 评论 -
cocos2dx3.0-lua获取cocosstudio场景以及获取ui等控件
local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("background_wave.json") -- node:setPosition(cc.p(100,100)) local t = node:getChildByTag(10004) if t==nil then原创 2014-02-26 16:32:56 · 5917 阅读 · 0 评论 -
【cocos2d-x入门实战】微信飞机大战之十五:跨平台移植和广告植入
转载作品自:http://blog.csdn.net/jackystudio/article/details/12150907整个游戏是出炉了,但是只在PC上玩很不过瘾,触屏的体验是鼠标没办法达到的。所以这节我们把它移植到Android平台上。当然这个游戏太微不足道了,所以我也不指望它能为我赚什么钱,现在考虑些就图样图森破了。这里的广告只是纯技术上的研究。做游戏,浮躁不得。转载 2013-10-10 12:51:07 · 1577 阅读 · 0 评论 -
cocos2dx http 链接以及采集数据 小例子
大家好,前些日子一直在忙,忙过了一个cocos2dx小游戏之后,又在研究着android平台的东西,现在想跟大家分享一下小知识http小例子在新建的helloworld项目中导入外部头文件#include "cocos-ext.h" USING_NS_CC_EXT; 如有不懂如何导入可看http://blog.csdn.net/five50/article/detai原创 2013-10-09 19:51:49 · 1333 阅读 · 0 评论 -
错误16error C2011: “Bullet”:“class”类型重定义,如何解决
小菜学习心得 发现在c++类的相互调用中我们的头文件所加的位置跟相互调用是有关系的,如以下一个例子:在TowerDefend头文件中导入了这些头文件在Bullet想要调用到TowerDefend时,在cpp文件中导入了TowerDefend.h当此时就会出现一个意想不到的错误了我试了多次 发现得这样改,把添加到TowerDefend的要导入的头文件不要在.h文件中导原创 2013-05-02 22:16:28 · 1991 阅读 · 1 评论 -
cocos2d-x【小菜在学习】做个Towerdefend初期
学习cocos2d-x没事想做做塔防游戏,却没有美工,也还没去找素材,就先这手头的素材做了个最初模样。做了最初的闪躲障碍物功能,截图如下:算法参照A星算法改编,但其中还有不少问题,如还是存在绕弯路,绕远路等缺陷:代码如判断哪个方向可以走代码: //右 if (!isObjs(ccp(p.x+1,p.y))&&!isNoRoute(ccp(p.x+1原创 2013-04-17 19:57:18 · 990 阅读 · 0 评论 -
cocos2d-x VS解决#include "cocos-ext.h"不能用 及extensions扩展函数导入问题
小菜出现过这个问题,想用CCScale9Sprite以及CCControlButton的使用时头文件导入不进去 以及就算头文件编译过去了,CCScale9Sprite也是一直声明不了。解决过程是这样的1,点击项目属性在vc++目录的包含目录中添加你的extensions路径如我这边是F:\cocos2d-2.1beta3-x-2.1.1\extensions然后再c/c++中的添加包括原创 2013-04-01 22:32:50 · 9711 阅读 · 3 评论 -
cocos2d-x【小菜在学习】做个小游戏俄罗斯方块(一)
小菜我这两天做了个小游戏当做锻炼了下自己,现在拿出来跟大家分享啦!此集是实现画背景,以及画俄罗斯方块图像的主要代码,到后面会给出源码。首先我在背景类RussiaGame在draw函数写 ,如下(及可画出我所要的背景)十二个格子void RussiaGame::draw(){ ::glLineWidth(1);//设定画线的宽度 for(int i=0;i<maxline+1原创 2013-03-31 21:32:20 · 2530 阅读 · 2 评论 -
cocos2d-x【小菜在学习】做个小游戏俄罗斯方块(二)
小菜来继续小游戏俄罗斯方块啦!有什么更好的做法,请大家给点意见,小菜会认真去思考学习此集实现的是方块图像的下降以及下降后消行(左右移动在第三集)。首先创建在之前创建的BlockManager中头文件中定义private: cocos2d::CCArray *_newBlock; //上集就需要定义的 cocos2d::CCArray *_saveBlock; co原创 2013-03-31 21:56:30 · 2744 阅读 · 0 评论 -
cocos2d-x 弹出堆被损坏,这说明 **.win32.exe 中或它所加载的任何 DLL 中有 Bug的解决方法
在cocos2dx中定义数组变量,如private: cocos2d::CCArray *_Objs; cocos2d::CCArray *_Enemys; cocos2d::CCArray *_nogo; cocos2d::CCArray *_AllRoute; cocos2d::CCArray *_routesend;如上,可以在构造函数里面定义初始化ne原创 2013-04-15 11:26:17 · 1761 阅读 · 0 评论 -
cocos2d-x 【小菜在学习】锚点与位置个人理解笔记
锚点是相对于图片的位置,比如说 logo->setAnchorPoint(ccp(0.5,1)); logo->setPosition(ccp(getWinSize().width/2,getWinSize().height-10));//其logo就在上面的位置,而且锚点就在ccp(getWinSize().width/2,getWinSize().height-10);//然后原创 2013-03-26 10:22:10 · 1422 阅读 · 2 评论 -
cocos2d-x【小菜在学习】体验之isBackgroundMusicPlaying对其影响
小弟刚学不久,似乎发现一小问题想看看大家是否一样,不对的地方请指正。我实现的是点击可以关闭或开启音乐在学习龙灵修之飞机游戏视频,照着其打代码发现CocosDenshion::SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic(); 以上对于判断bool型CocosDenshion::SimpleAudioEngin原创 2013-03-21 15:44:47 · 1523 阅读 · 4 评论 -
cocos2d-x【小菜在学习】做mario小尝试
小菜最近在网上找到了super mario 的素材,就做了做,不过里面有些缺陷,请大家有意思下载去看看。 就实现了碰撞效果,以及mario的跳跃跟左右走动,不过在建议mario类建议去重写吧,照着敌人类的思路去重写比较好!小尝试了下,其他效果以及图片素材都在里面,大家共同学习看看吧!vs生成的exe文件试玩在http://download.csdn.ne原创 2013-04-09 10:27:01 · 1636 阅读 · 0 评论 -
CCControlButton使用时发现的点击范围问题(只能在右下角点击按键)
比如以下代码 CCRect rect = CCRectMake(0,0,0,0); CCRect rectInsets = CCRectMake(0,0,1,1); CCScale9Sprite *backgroundButton = CCScale9Sprite::create("Icon.png",rect,rectInsets); CCScale9Sprite *back原创 2013-04-02 09:25:48 · 1233 阅读 · 0 评论 -
关于AndroidRuntime: FATAL EXCEPTION: GLThread 10 java.lang.IllegalArgumentException问题
最近弄了cocos2dx win32项目弄成安卓版,到最后在虚拟机运行一直出现这个问题,主要的问题如下虚拟机上有了一个apk文件了但当我点击的时候就出现以上情况了,最后我查看了哪里报的错如下图最后在网上努力的查找发现有种说法,不过认为是比较正确的就是官方更新的GLSurfaceView不能再在虚拟机上调试了,需要在真机上调试,后来,我去试了在eclipse上原创 2013-05-17 12:19:03 · 4727 阅读 · 1 评论 -
cocos2d-x 做项目时问题,Assertion failed! Expression: m_pChildren->containsObject(pSprite)
出现以下界面点击忽略时,会弹出表示说在这里中断在程序反复查试之后发现时我运用到已经删除的一个CCSprite,在它删除之后还会调用到它的位置,即会出现这些错误,查了很久,所以发上去给大家分享,希望有帮助!原创 2013-05-04 21:13:10 · 4097 阅读 · 3 评论 -
cocos2d-x【小菜在学习】做个小游戏俄罗斯方块(三)
小菜又来了!!!本期实现的功能为变形以及左右移动的功能首先说下我变形的原理 以这两个数组变化来控制旋转。(2,0)(2,1)(2,2) (0,0)(1,0)(2,0)(1,0)(1,1)(1,2) (0,1)(1,1)(2,1)(0,0)(0,1)(0,2) (0,2)(1,2)(2,2)原创 2013-04-01 20:46:24 · 2594 阅读 · 2 评论 -
cocos2dx sqllite 增删查改等操作
首先导入文件shell.c sqllite3.c sqlite3.h sqlite3etx.h文件(注意在生成安卓项目是 不要将shell.c写进android.mk文件中,写进去在cywin中生成会出错,当时搞了很久发现的)创建数据库 sqlite3 *pDB = NULL; //数据库指针 char * errMsg = NULL; //错误信息 std::stri原创 2013-10-09 13:38:54 · 1815 阅读 · 0 评论