![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
cocos2d-x
凛冽寒風
时间并不会因为你的迷茫和迟疑而停留,就在你看这篇文章的同时,不知道有多少人在冥思苦想,在为算法废寝忘食,不知道有多少人在狂热地拍着代码,不知道又有多少提交一遍又一遍地刷新着OJ的status页面……
没有谁生来就是神牛,而千里之行,始于足下!
展开
-
Cocos2d-x 3.x利用Socket创建客户端和服务端
Socket基类包括Socket的初始化,主要是Windows上,在Android上就不需要了。如果平台为Windows,则需要初始化1234567891011121314151617SocketBase转载 2015-05-04 17:30:16 · 579 阅读 · 0 评论 -
寒風的Cocos2dx之旅之添加按钮
要在Cocos2d中使用Button,首先引入头文件#include "ui/CocosGUI.h" using namespace uil; 引入完毕后,就创建button。代码如下:void btnGoodsItem(cocos2d::Ref* pSender,Widget::TouchEventType event);void HelloWorld::btnGood原创 2015-03-31 20:26:38 · 2549 阅读 · 0 评论 -
寒風的Cocos之旅之C++篇REATE_FUNC宏的解析
对cocos有了解的人,都应该对CREATE_FUNC这个宏不陌生,那么今天寒風为大家解析一下这个函数。首先我们看看里边的源代码:/** * define a create function for a specific type, such as CCLayer * @__TYPE__ class typ原创 2015-10-06 18:30:37 · 476 阅读 · 0 评论 -
寒風的Cocos之旅C++篇----Cocos2d-x应用代理
应用代理和它的名字一样,它代表整个程序,并且整个程序里只有唯一一个实体,也就是说一个cocos2dx程序只会有一个应用代理。这货负责程序的初始化工作和处理待机时的事务,在vs工程里和磁盘上一般都能找到它的正体,名字是AppDelegate.h和AppDelegate.cpp。这家伙的存在感简直低到了一定境界,因为一般我们很少会去修改它,默认的设置就能满足我们的需求。很有可能原创 2015-10-07 22:06:53 · 423 阅读 · 0 评论 -
寒風的Cocos之旅之C++篇---drawNode用法
auto s = Director::getInstance()->getWinSize(); auto draw = DrawNode::create(); addChild(draw, 10); // Draw 10 circles// 画同心圆 for( int i=0; i {原创 2015-10-07 23:28:25 · 673 阅读 · 0 评论 -
寒風的Cocos之旅之C++篇--cocos2d-x内存管理机制
目前主要有两种实现智能管理内存的技术,一种是引用计数,一种是垃圾回收。Cocos2d-x采用的是引用计数机制。为此实现了自己的根类CCObject,每个对象都包含了一个用来控制生命周期的引用计数器,就是CCObject的成员变量m_uReference。 对于m_uReference,构造函数创建时对该引用计数器赋值为1(自引用,并没有实际的使用),当需要引用对象时调用retain()方原创 2015-10-10 10:36:28 · 367 阅读 · 0 评论 -
寒風的Cocos之旅之Lua篇---全局变量的妙用
言简意赅的描述一下:如果想在A类中调用B类中的C方法。首先要在A类中的ctor方法中定义self.XXXX。这样XXXX就是全局变量了,在任何地方都可以创建一个对象出来。那么需要调用这个对象的方法时,就可以使用它了。原创 2016-01-25 10:26:08 · 1345 阅读 · 0 评论 -
寒風的Cocos之旅之Lua篇---2048移动块的机制
用Lua又写了遍2048.这回发现比之前写的更快了。在上下左右移动块的上边,例如像左移动:那么需要遍历的则是x轴方向。并且是跟移动方向相反的向右进行遍历。此时定义一个对象,记录向右遍历的第i个的值,记录后将此值赋给它左边的那个值(这里说的通俗些,坑了勿喷!)最后代码呈上。有需要的可留言,可以找我要代码一起学习。function GameScene:leftCombineNumber()原创 2016-01-25 12:19:06 · 615 阅读 · 0 评论 -
寒風的Cocos之旅之Lua篇---2048项目的结构
通过之前的一段学习,我用Lua又重写了一遍2048(哈哈哈,我是不是有点勤奋),在这里归纳一下结构。一、从场景来讲只需要一个场景GameScene即可。二、GameScene场景下有很多的layer,其中包括:1、各式各样的label(这里不举例说明)2、绘制4×4的表格(用DrawNode里的DrawSegment方法画直线)3、封装的每个卡片(其中参数包括:x,y,num,原创 2016-01-25 12:40:51 · 712 阅读 · 0 评论 -
CVP认证学习笔记--李天宇013在Node的生命周期和图层种处理触摸
本节课学习的内容是单点触摸的内容。通过本节课的学习,在以后的做游戏的过程中,可以更加的方便。核心代码如下:cc.eventManager.addListener({ event:cc.EventListener.TOUCH_ONE_BY_ONE, swallowTouches:true, onTouchBegan:t原创 2016-06-29 01:06:55 · 252 阅读 · 0 评论 -
cocos2dx打包apk
Win10+VS2013+Cocos2d-x3.6+Eclipse项目打包发布详解,cocos2dxvs2013Win10+VS2013+Eclipse项目打包发布详解1、下载软件:JDKAndroid_adtAndroid_ndkAndroid_ant2、环境配置进入到cocos2dx引擎目录下,执行setup.py,然后把项目转载 2016-07-02 22:54:37 · 1206 阅读 · 0 评论 -
用Cocos Code IDE写Lua,如何与项目中的C++代码和谐相处
1、在用Cocos Code IDE建立新的cocos2d-x项目时,最好选中Add Native Codes这个选项,只有选中了它,项目目录里才会有frameworks目录,里面才会有AppDelegate.cpp等重要的C++类(程序真正的入口)。如果不勾选这个,则Cocos Code IDE使用的是默认编译好的PrebuiltRuntimeLua.app程序,日后如果要更改C++部分的程转载 2016-07-04 12:44:09 · 520 阅读 · 0 评论 -
Cocos2d-x下Lua调用自定义C++类和函数的最佳实践
关于cocos2d-x下Lua调用C++的文档看了不少,但没有一篇真正把这事给讲明白了,我自己也是个初学者,摸索了半天,总结如下:cocos2d-x下Lua调用C++这事之所以看起来这么复杂、网上所有的文档都没讲清楚,是因为存在5个层面的知识点:1、在纯C环境下,把C函数注册进Lua环境,理解Lua和C之间可以互相调用的本质2、在cocos2d-x项目里,把纯C函数注册进Lua转载 2016-07-04 12:48:37 · 471 阅读 · 0 评论 -
Cocos 2.2.1 + cocos2d-x 3.5 集成protobuf
在Cocos商店里下载cocos2d-x框架,NDK,SDK我的安装如下云风pbc https://github.com/cloudwu/pbc下载下来为pbc-master 改成pbc,内容如下pbc-lua.h是后来加的,如图,新建一个pbc-lua.h,内容如下[cpp] view plain转载 2016-07-18 11:35:34 · 645 阅读 · 0 评论 -
Cocos_Lua如何调整模拟器大小以及分辨率
通过上网查找资料和自行研究,其实设置cocos lua的屏幕适配还是比较容易的.我用的是VS2013跑的cocoslua项目工程.所以在Classes里边找到CodeIDESupport.h文件,修改#define CC_CODE_IDE_DEBUG_SUPPORT 的值为1。之后运行你会发现当你右键模拟器的时候,有个视图里边可以选择模拟器的尺寸大小.是不是很方便呢~。如果想修改屏幕的分辨率就在c原创 2016-08-04 10:04:33 · 4579 阅读 · 0 评论 -
寒風的Cocos2dx之旅之removeSelf与remove的区别
removeself可以说是一个Action,用来实现一个动作自动删除的。如:一个小星星从左边moveto到右边去,接一个removeself,自动从父节点删除。removechild是从父节点删除子节点,现在一般都是用子节点removefromparentsandclearup方法,来实现删除一个sprite或者是别的。原创 2015-04-07 00:19:02 · 5597 阅读 · 0 评论 -
寒風的Cocos2dx之旅之剪刀、石头、布系列专题(1)
本节小编为读者们讲述如何在cocos2d上做一个剪刀石头布的游戏,游戏画面如下: 首先看到这个画面:我们来分析一下它到底有几个层?有菜单层、显示结果层、显示分数层、显示菜单背景层。宏观角度上看:有3个层:背景层->精灵层->菜单层。 让我们看看SettingScene.h头文件中都定义了什么:#include "cocos2d.h"#include "Hell原创 2015-03-25 17:50:41 · 639 阅读 · 0 评论 -
寒風的Cocos2dx之旅之地图编辑器的使用
使用TexturePacker打包多张小图1、将多张小图拖动到TextPacher中。2、定义导出格式 导出plist文件名,导出合成图的png文件名3、选择publish发布 生成一个xxx.plist和xxx.png4、拷贝这两个文件到Rescoures目录5、使用SpriteFrameCache一次性加载到缓存 SpriteFram原创 2015-08-12 09:28:53 · 1473 阅读 · 0 评论 -
cocos2d-x 3.2 在window平台vs2012下解决中文乱码问题
void WStrToUTF8(std::string& dest, const std::wstring& src){ dest.clear(); for (size_t i = 0; i wchar_t w = src[i]; if (w dest.push_back((char)w);转载 2015-06-18 11:16:35 · 392 阅读 · 0 评论 -
cocos2d-x Lua引擎安装步骤
1、首先在电脑中安装jdk。2、安装Python。3、解压Cocos引擎。4、安装Cocos IDE。原创 2015-06-27 16:27:34 · 371 阅读 · 0 评论 -
寒風的Cocos之旅C++篇之进度条的使用
首先进度条的作用在游戏中充当着重要的角色。如:人物的血条、计时的时间条、小怪的血量等,它以一种直观的形态呈现在我们的视野当中,话不多说,直接上货了。 //进度条背景 Sprite *progressbgSprite; progressbgSprite = Sprite::create("bonusbar.png") ; //progressbgSprit原创 2015-09-30 10:38:33 · 486 阅读 · 0 评论 -
寒風的Cocos2dx之旅之完成2048后遇到的一些小问题
通过这几天的学习,我将2048这款游戏大致给做出来了,在我做出模型后,我遇到了2个问题,①4×4的格子内有16个2!╮(╯▽╰)╭。。。。②分数模块内显示的分数是一个6位数(哇塞!好高的分数诶)。这里我不是在秀下限玩。我的两个问题都在我的Helloworld的init()方法中,我很机智先把0赋到每个格子中代码如下://4*4的单元格 for(int i=0; i {原创 2015-03-23 22:24:34 · 625 阅读 · 0 评论 -
寒風的Cocos2dx之旅之基础1----创建场景
这是小编第一次写博客,稍微有些紧张= = 。 希望大家多多关注我,我会每周不定时更新我的学习cocos2d-x的经验,以及方法。 小编用的是windows系统。。。第一次编译灰常灰常的慢。 又提起了伤心╮(╯▽╰)╭。 言归正传,首先打开VS2012,打开目录下的工程文件,打开后找到proj.win32这个文件夹。打开解决方原创 2015-03-22 21:12:14 · 653 阅读 · 0 评论 -
寒風的Cocos2dx之旅之schedule用法
schedule是一个定时器,可以让一个动作每隔几秒钟执行1次,scheduleonce是一个定时器,去掉once则是多个定时器。先在.h文件中定义一个方法带有一个参数,来传递间隔时间的参数。 this->schedule(schedule_selector(GameScene::addspriteGreen),2);this->scheldule(schedule_selector原创 2015-04-07 00:59:23 · 814 阅读 · 0 评论 -
寒風的Cocos2dx之旅之单点触摸
单点触摸是一种事件监听器,首先要为它进行初始化,这里采用C11新特性。 auto listener=EventTouchOneByOne::create();//这里新添加了一个单点触摸事件监听器。原创 2015-05-27 15:56:44 · 405 阅读 · 0 评论 -
寒風的cocos2dx之旅之UserDefault用法
很久没有跟大家分享Cocos2d学习时的经验了,今天继续。首先让我们先了解一下UserDefault这个类,它在游戏中充当保存用户最高分的角色。UserDefault是一个微型数据库,像我们开发者开发的手机app游戏当需要保存一些分数和信息的时候,用这个类就足矣。当然一些大型手机网游还是会用到数据库的内容。那么今天笔者带大家了解下UserDefault中的几个常用的方法。打个比方,在最开始原创 2015-06-14 00:41:05 · 1842 阅读 · 0 评论 -
寒風的Cocos2dx之旅之Vector用法
通过一天的时间看Vector,其实Cocos的Vector跟C++的区别在于前者可以自动释放空间,后者需要自行手动释放。下面来为大家介绍一下Vector的用法吧。Vector它是一个模板类,就是一个动态数组,只不过Vector功能更为强大,所以我们经常用它来在程序中使用。尖括号里 对象名称; 在创建完一个对象后,我们就要根据我们的需要,来添加、删除、替换等操作。添加的方法有:v原创 2015-04-13 22:53:40 · 1779 阅读 · 0 评论 -
寒風的Cocos2d之旅之如何实现屏幕滚动
核心代码如下:auto sp1=new Sprite("文件路径");sp1->setAnchorpoint(Vec2::ZERO);sp1->setPosition(0,0);sp1->setTag(101);this->addChild(sp1);auto sp2=new Sprite("文件路径");sp2->setAnchorpoint(Vec2::ZERO);sp2原创 2015-09-16 21:44:06 · 577 阅读 · 0 评论 -
寒風的Cocos2dx之旅之剪刀、石头、布系列专题(2 )
上一节,我们把游戏界面已经编译好了,那么这一节,我们要实现我们的游戏方法。首先我们要添加3个菜单,添加按钮当然也可以。代码如下//添加石头菜单 auto shitouMenu= MenuItemImage::create( "shitou.png",原创 2015-03-25 18:25:21 · 545 阅读 · 0 评论 -
寒風的Cocos2dx之旅之如何实现一个动画的播放
通过短暂时间的学习,小编我终于学到了怎么做动画效果了,其实动画效果就是一张张图片来回进行的切换。下面我来给大家讲述一下: 首先我们先在init()方法中初始化一张图片。之后创建Animation的一个对象。通过一个for循环来实现图片之间的切换。auto animation=Animation::create(); for( int i=0;i<=6;i++) {原创 2015-04-03 11:47:54 · 554 阅读 · 0 评论 -
寒風的Cocos2dx之旅之如何通过碰撞来实现生命值依次减少
首先我在.h文件中定义了3个血条,以方便我在.cpp中调用。(三个血条分别代表3个图片)Sprite* spriteHp1;Sprite* spriteHp2;Sprite* spriteHp3;再定义一个LiveCut方法在.h文件里,在.cpp中实现该方法。void LiveCut();void 类名::LiveCut(){ if(spriteHp1){原创 2015-04-07 00:33:40 · 791 阅读 · 0 评论 -
寒風的Cocos之旅之游戏获取最高分
从今天起寒風的旅途由cocos2d-x变为Cocos了。因为时代在进步。。。好了废话不多说,下面进入正题。 我们在做飞机大战等一系列小游戏中,会遇到最高分问题。那么这时候我们有两种选择,一种是连数据库,一种是用UserDefault。 在这里,我用我的代码为大家说明: //分数 auto labelScore=Label::createWithSystemFont(原创 2015-10-04 16:20:17 · 1003 阅读 · 0 评论 -
寒風的Cocos2dx之旅之首选项数据读写操作
本期笔者为大家介绍一个Cocos2d上一个强大的功能,一个文件的操作。UserDefault::getInstance()->setStringForKey("data","Hello jikexueyuan");log("%s",UserDefault::getInstance()->getStringForKey("data","HelloWorld").c_str());将第一行代码编原创 2015-05-03 20:04:43 · 708 阅读 · 0 评论 -
寒風的Cocos2dx之旅之一些游戏在控制方向的技巧
在.h文件中定义一个枚举类,里边包含了上下左右四个方向。enum DIR{ RIGHT_DIR, LEFT_DIR, UP_DIR, DOWN_DIR}像贪吃蛇类的游戏,是自动行进的话,就是定义一个计划任务schedule,每隔多少秒向上下左右移动多少。但在之前应该先定义交互事件。//创建监听对象auto li原创 2015-08-09 22:29:23 · 1008 阅读 · 0 评论 -
Cocos2dx中的一些设计到内存管理的宏
宏描 述CC_SAFE_DELETE(p)使用delete操作符删除一个C++对象p,如果p为NULL,则不进行操作CC_SAFE_DELETE_ARRAY(p)使用delete[]操作符删除一个C++数组p,如果p为NULL,则不进行操作CC_SAFE_FREE(p)使用free()函数删除p,如果p为NULL,则原创 2016-07-21 17:11:22 · 360 阅读 · 0 评论