关闭

[置顶] 【玩转cocos2d-x之四十】如何在Cocos2d-x 3.0中使用opengl shader?

有小伙伴提出了这个问题,其实GLProgramCocos2d-x引擎自带了。完全可以直接拿来用。 先上图吧。使用opengl前后的对比: 1.在cpp中使用openGL shader。 (1)添加gray.vsh和gray.fsh到资源目录(见附件)。 (2)添加如下代码: bool HelloWorld::init() { if ( !Layer::in...
阅读(8943) 评论(10)

[置顶] 【玩转cocos2d-x之三十九】Cocos2d-x 3.0截屏功能集成

3.0的截屏和2.x的截屏基本上相同,都是利用RenderTexture来处理,在渲染之前调用call函数,然后调用Cocos的场景visit函数对其进行渲染,渲染结束后调用end函数即可。只是3.0截屏需要在截完屏的下一帧才能处理RenderTexture,这点要注意。关于2.x的RenderTexture的API和demo可以参见http://blog.csdn.net/jackystudio...
阅读(5071) 评论(0)

[置顶] 【玩转cocos2d-x之三十八】如何使用NDK-STACK tool来恢复Cocos2d-x安卓错误堆栈信息

很多童鞋在纠结在Cocos2d-x中安卓项目如何调试JNI部分的C++代码,在吃完2个茶叶蛋后我决定放大招。。。 本文翻译自:http://www.cocos2d-x.org/forums/6/topics/46225 1.安卓 NDK-STACK tool NDK-Stack 是一个非常易用的工具,它通过将信息显示到adb logcat中来辅助你分析堆栈追踪,然后用相应的值(哪篇源...
阅读(6442) 评论(1)

[置顶] 【玩转cocos2d-x之三十七】粒子系统的加载优化

Cocos2d-x的粒子系统是通过加载plist生成的。plist包含两部分内容:粒子系统属性和粒子纹理。然而每次调用create都会对plist进行读取解析,如果重复地使用同一个粒子效果,这样的调用明显是低效冗余的。所以我们要做的是,将粒子系统属性和粒子纹理分别抽出。 (1)将粒子系统属性预加载并全局保存,避免每次进行读取。 (2)粒子纹理可视且可以进行纹理打包,加载粒子纹理就和加载普通的图...
阅读(5007) 评论(3)

[置顶] 【玩转cocos2d-x之三十六】Flappy Bird大集结

前几天看到cocos2d-x官网论坛让各种姿势的flappy bird霸占了,矮油真受不鸟,你们够啦!!!                今天准备用一个贴来秒杀你们。准备好了么。。。放图镇楼: 1.C++版 先来个传统版,@OiteBoys童鞋很有爱,将flappy bird用cocos2d-x v3.0写了一遍,同时加入了新的3.0物理系统。在这一系列教...
阅读(5325) 评论(7)

[置顶] 【玩转cocos2d-x之三十五】Earth Warrior 3D大揭秘

3D游戏现在玩起来门槛还是挺高的。不过如果在Cocos2d-x引擎加入3D扩展,实现2.5D游戏效果又会怎么样? 1.概述 先上大会现场演示图: Apk下载:http://pan.baidu.com/s/1ntM75bV 源码下载:https://github.com/chukong/EarthWarrior3D.git,给个star不费电。。。 开发环境:Cocos2d-x v...
阅读(7584) 评论(16)

[置顶] 【玩转cocos2d-x之三十四】绘图:CCDrawingPrimitives和CCDrawNode

最近忙出翔了,这年过的也揪心。好久没来更新博客了,今天就来写一写cocos2d-x中图形的绘制。 1.概述 其实cocos2d-x封装了大量的opengl的绘图函数,我们可以很轻松的在游戏中调用。但是实际上我们很少会这么做,因为编码绘图的方式效率实在太低了,尤其是诸如一些高阶贝塞尔曲线之类的,官方也不建议这么做,使用图像能更有效的提高绘图效率,同时也会更为的美观,也减少了一些精...
阅读(7472) 评论(7)

[置顶] 【玩转cocos2d-x之三十三】游戏嵌入Webview网页

手游《我叫MT》一开始会弹出一个游戏公告,有玩过的肯定都蛮熟悉的,这就是webview,就是一个网页。由于webview和平台相关,这里就介绍下cocos2d-x如何嵌入andorid的webview控件,在cocos2d-x中显示网页。 1.Jni Jni这里我就不再多说了。可用参考wikipedia,或者微信飞机大战的移植篇。通过Jni,可以实现在cocos2d-x中调用Android的API,当然也可以进行传值。 2.Android使用webview 直接上代码。主要是处理布局和webview...
阅读(16724) 评论(2)

[置顶] 【玩转cocos2d-x之三十二】xml的解析

cocos2d-x中对xml的解析是采用的TinyXML库,而对plist的解析同时结合了CCDictionary来处理,这里简单介绍下cocos2d-x中解析xml的两种方式,也是常用的xml两个C++解析库:TinyXML和RapidXML。xml被设计用于数据存储和传输,重点是数据内容本身,而不像html,用于表现数据。 1.TinyXML 1.1.概况 T...
阅读(8571) 评论(12)

[置顶] 【玩转cocos2d-x之三十一】弱联网与服务器的通讯

这里采用Apache+php搭建了一个简易服务器,服务端用php语言,客户端采用cocos2d-x的CCHttpClient类通过http方式访问服务端资源。模拟了cocos2d-x提交账户和密码到服务端,服务端校验帐号密码,如果正确返回客户端成功登录,如果错误则返回错误信息,同时在服务端后台保存登录log。第一次接触php,语法上和C/C++还是蛮像的,主要是给出一个cocos2d-x网络实例,...
阅读(11714) 评论(8)

[置顶] 【玩转cocos2d-x之三十】点九图和输入框的使用

登录界面一个帐号/密码输入框或者主角命名框是少不了的。这节就来了解一下点九图的输入框的使用。这里只是介绍使用的基础,并不进行平台的移植,也不处理跨平台可能出现的问题。 1.点九图CCScale9Sprite 1.1.概述 点九图做过移动开发的肯定不会陌生。采用的是PNG点9图,PNG点9图可以自适应各种环境,同时保持伸缩不变形。移动端的UI基本上都是按这个来做的。点9图的制作很简单,...
阅读(7579) 评论(12)

[置顶] 【玩转cocos2d-x之二十九】利用CCClipingNode做游戏遮罩

新手引导是游戏中必备的(除了奇葩的MT用一段动画开始),也是玩家对游戏的第一印象,重要性不言而喻。一般采用的遮罩的形式来突出引导重点,同时屏蔽其他功能。这里简单的介绍一下游戏遮罩的实现,并给出一个示例。 1.CCClipingNode CCClipingNode是一个可裁剪节点,简单理解: (1)首先它是一个节点,继承于CCNode,所以它可以像普通节点一样放入CCLayer,CCS...
阅读(11110) 评论(13)

[置顶] 【玩转cocos2d-x之二十八】cocos2d-x的消息和数据传递

如何在层间或者场景间进行消息传递,大概是每个初学者都要面对的问题吧。这里介绍cocos2d-x的一种消息/数据传递方式,内置的观察者模式,也称消息通知中心,CCNotificationCenter。 1.CCNotificationCenter CCNotificationCenter是cocos2d-x提供的一个消息中心,类似于观察者模式,是一个单例类,用于辅助控制消息传递。大概工作...
阅读(8436) 评论(8)

[置顶] 【玩转cocos2d-x之二十七】CCSequence不能执行CCRepeatForever

之前在遇到这么一个问题,在CCSequence中加入CCRepeatForever,发现其他动作执行没问题,就是CCRepeatForever无法执行。代码并没有问题,很奇怪。 1.示例 [cpp] view plaincopy CCBlink* blink=CCBlink::create(0.5f,10);//创建闪烁动画,dur...
阅读(8784) 评论(9)

[置顶] 【玩转cocos2d-x之二十六】数据结构CCDictionary

CCDictionary在cocos2d-x中被大量的应用,比如CCTexureCache,CCSpriteFramCache等等。 1.实现原理 1.1.uthash CCDictionary是使用uthash实现的,而过时的CCMutableDictionary则是使用STL实现,就效率而言CCDictionary至少提升了两倍,而且CCDictionary并没有...
阅读(8499) 评论(5)

[置顶] 【玩转cocos2d-x之二十五】数据结构CCArray

CCArray是从cocos2d中移植过来的,类似于Apple的NSMutableArray,但是比NSMutableArray更为的好用。要注意的是虽然CCArray和CCDictionary可以管理cocos2d-x中绝大多数的类,但是仍然无法替代STL库,STL库更为强有力。 1.API 先看一下CCArray可以帮我们做什么。 1.1.创建 [c...
阅读(8588) 评论(7)

[置顶] 【玩转cocos2d-x之二十四】截图保存功能的实现

官方TestCpp有这个demo了,这里还是把它单独拖出来写一下,游戏推广的一个很重要组成就是玩家分享,所以游戏截图就起到很大作用了。截图功能通过CCRenderTexture实现。 1.CCRenderTexture CCRenderTexture是一个通用渲染对象,可以通过构建一个CCRenderTexture对象,进而把要渲染的东西填充进去,在渲染开始前调用call函数,调用co...
阅读(9529) 评论(12)

[置顶] 【玩转cocos2d-x之二十三】多线程和同步03-图片异步加载

cocos2d-x中和Android,Windows都一样,如果在主线程中处理一些耗时操作,那么主线程就会出现阻塞现象,表现在界面上就是卡住,未响应等情况。为了避免这种情况的出现,我们需要在后台开辟工作线程进行数据的处理,再采用消息传递或者其他形式来通知主线程进行UI变化。最常见的情况就是游戏进入前的loading。 1.图片的异步加载 在多线程和同步的第一篇就有介绍到使用pthrea...
阅读(12852) 评论(15)

[置顶] 【玩转cocos2d-x之二十二】多线程和同步02-售票

pthread有很多不同应用,官网都有相应的API解释和Sample,这里不再重复,本文主要介绍cocos2d-x中一个多线程和同步示例。 1.卖票 孙鑫老师的C++和Java多线程卖票一直让我念念不忘,好吧,这里用cocos2d-x和pthread实现一个吧。总共有100张火车票,有2个售票点A和B再售票,当票卖完了就结束了。我们知道当程序一开始进程就会创建一个主线程,我们可以在主线...
阅读(5749) 评论(6)

[置顶] 【玩转cocos2d-x之二十一】多线程和同步01-pthread库

和其他框架一样,cocos2d-x允许我们使用多线程进行编程。cocos2d-x使用的是pthread库,是一套用户级线程库,被广泛地使用在跨平台应用上。 1.配置 在使用pthread之前,需要把头文件和库文件链接进来。pthread的官网戳这里,当然cocos2d-x帮我们包含进引擎了。 1.1.头文件 pthread.h放在\cocos2d-x目录\cocos2dx\plat...
阅读(10615) 评论(27)

[置顶] 【玩转cocos2d-x之二十】从CCObject看cocos2d-x的内存管理机制

再看CCObject,剔除上节的拷贝相关,以及Lua脚本相关的属性和方法后,CCObject还剩下什么? 1.剩下什么? 可以看到整个CCObject就是围绕着m_uReference和m_uAutoReleaseCount在转。这两个变量的解释如下。所以CCObject剩下的其实就是对内存的管理。 CCObject::CCObject(void)//构造函数 : m_nLuaI...
阅读(5942) 评论(2)

[置顶] 【玩转cocos2d-x之十九】从CCObject看cocos2d-x的拷贝机制

CCObject在之前的文章中出现了N次,它扮演了一个老祖宗的角色,但是它到底是做什么的?先从它看看cocos2d-x的拷贝机制吧。 1.CCCopying CCObject从CCCopying继承而来,而CCCopying拥有唯一的虚函数copyWithZone,这个函数可以认为是拷贝的一个协议,所有继承了CCObject并且需要实现拷贝功能的子类都可以通过它来实现,它的源码很简单,...
阅读(6866) 评论(6)

[置顶] 【玩转cocos2d-x之十八】仿《中国好学霸》文字拖拽和定位

现在各种猜成语猜歌名好学霸之类的游戏火的一塌糊涂。本节就介绍下文字的拖拽和定位。 1.基本原理 其实这只是精灵的简单拖拽和坐标的识别而已。当触摸点在精灵的范围内,精灵可以感应拖动,当触摸结束进行位置判断,如果在有效范围内就进行自动定位。 2.实现 2.1.背景加入和文字精灵的加入 这里是采用这一节http://blog.csdn.net/jackystudio/artic...
阅读(6260) 评论(15)

[置顶] 【玩转cocos2d-x之十七】cocos2d-x中文显示

cocos2d-x的中文显示其实就是一个UTF-8编码在作怪而已,一种简单的方法就是把文本保存为UTF-8编码即可(注意不是UTF-8 + BOM),建议使用UE,Sublime Text或者EditPlus之类的本文编辑器。这里介绍另一种方法:通过读取xml文件显示中文,这种方法更利于软件的国际化,demo顺便实现了中英文切换。 1.xml文件 先写好一个xml文件(CHN_...
阅读(7916) 评论(6)

[置顶] 【玩转cocos2d-x之十六】滚动字幕和公告

滚动字幕和公告是游戏中经常使用到的元素,本文大致写一下实现方法,至于例子中具体的坐标值,请不要纠结。。。这和美工关系还是蛮大的。我PS技术太搓了。。。 1.原理 其实它们的实现都是简单的通过调用update来更新位置达到的移动效果,和背景滚动有点类似,一旦滚动结束就重置为起点,开始新的滚动。只是为了达到在某个区域内滚动而不至于超出这个区域,有时候会用一些前景图来做遮盖,所以这个...
阅读(8076) 评论(5)

[置顶] 【玩转cocos2d-x之十五】关卡选择的设计

这节介绍一下游戏中帮助界面和关卡选择的设计,其实都是一样的,关键在于美工。这里采用自定义TableView层来实现。 1.导入头文件和设定空间 因为TableView相关的类是在扩展包里面,所以必须先声明 [cpp] view plaincopy #include "cocos-ext.h"   USING_NS_CC_EX...
阅读(7029) 评论(16)

[置顶] 【玩转cocos2d-x之十四】菜单选项卡的实现

有时候,我们希望实现一个选项卡功能,就是切换tab选项,场景中的内容会跟着改变,但是tab选项卡不动。这是用切换场景的方式没办法做到的。 这里我们就可以使用CCLayerMutiComplex来实现这个功能。 1.创建布景 这里创建3个布景来做示范。分别是Laye1,Layer2和Layer3。代码就不贴了,布景内容可以直接使用HelloWorld的代码。...
阅读(6307) 评论(8)

[置顶] 【玩转cocos2d-x之十三】CCMenu的布局

前两天写个游戏,发现CCMenu的布局还是比较有意思的,这里总结一下,以便后用。 1.概况 CCMenu是cocos2d-x的菜单类,但它本身并不具备菜单具体属性,而是作为一个父节点,将一些具体类型的菜单添加进去来达到菜单目的的。我们正常会这么使用它:先创建子菜单项CCMenuItem,然后将子菜单项CCMenuItem加入菜单CCMenu,最后把CCMenu加入当前层CCLa...
阅读(8614) 评论(2)

[置顶] 【玩转cocos2d-x之十二】plist解析工具:Anti_TexturePacker

之前拿了一些别人的图片素材,是用TexturePacker打包合成的,结果写程序的时候不知道每个合成前小png图的名字是什么,只能一个一个从plist文件中找,然后猜测对应的名字,再进行显示,如果不对,还要继续猜。。。坑爹啊,效率大大降低了,时间都耗在找图片名字上了。后来决定动手写一个解析plist的软件,就叫它Anti_TexturePacker吧。 Anti_TexurePa...
阅读(22202) 评论(139)

[置顶] 【玩转cocos2d-x之十一】定时器schedule

如果我们想定时执行一个动作怎么办?CCScheduler帮了我们一个大忙。 1.概况 CCNode内部封装了一个 [cpp] view plaincopy CCScheduler *m_pScheduler;   正是通过它我们可以很轻松地完成一些定时功能,所以定时器是节点所具备的功能。 定时器分为2种...
阅读(19653) 评论(3)

[置顶] 【玩转cocos2d-x之十】cocos2d-x坐标系

cocos2d-x采用的是笛卡尔平面坐标系,也就是平面上两条垂直线构成的坐标系,平面上任意一点都可以用(x,y)来表示。 (1)就坐标系方向而言,cocos2d-x分为屏幕坐标系和OpenGL坐标系。 (2)就节点本身而言,cocos2d-x分为绝对坐标系和相对坐标系。 1.屏幕坐标系 屏幕坐标系,也叫UIKit坐标系,原点在屏幕左上,x轴向右,y轴向下。cocos...
阅读(12368) 评论(12)

[置顶] 【玩转cocos2d-x之九】动作类CCAction

精灵也出来了,但是不会动的精灵是木有用的。。。CCAction就是负责来解决精灵运动的问题。 1.概况 CCAction直接从CCObject继承而来,注意它代表的是一个动作,是动词。精灵执行了这个动作,而不是名词。CCAction本身并没有什么功能,主要是定义了一些通用函数和虚函数让子类实现多态性。 2.接口 [cpp] vie...
阅读(8013) 评论(4)

[置顶] 【玩转cocos2d-x之八】精灵类CCSprite

精灵类CCSprite可以说是游戏的主角了,也是我们平时最常用到的类。 1.概况 CCSprite本质上就是一个二维图片,是静态的。游戏中的动画只不过是让一张张静态图片快速更换达到的动态效果。CCSprite继承于CCNodeRGBA,并实现了CCTextureProtocol的接口。因此CCNodeRGBA所具有的RGB和透明值这些属性和接口CCSprite都有,...
阅读(9100) 评论(0)

[置顶] 【玩转cocos2d-x之七】场景类CCScene和布景类CCLayer

场景类CCScene和布景类CCLayer都是作为一个容器来使用,这里简单地看下它们的实现: 1.场景类:CCScene CCScene类继承于CCNode,它的实现很简单,就是基本上没添加什么内容。。。它只是作为一个容器(父节点)的抽象概念存在。对比CCNode差别有: (1)构造函数中设置了不使用锚点定位,而是使用了坐标原点,即使设置了锚点也不起作用。...
阅读(8638) 评论(2)

[置顶] 【玩转cocos2d-x之六】节点类CCNode

节点类CCNode可以说是游戏元素的祖宗了,基本上我们看得到的游戏元素都是以它为原型进行扩展的。像CCScene,CCLayer,CCSprite,CCMenu,CCSpriteBatchNode等等都是从CCNode继承而来。另外如果我们要自定义精灵,那么从CCNode继承也是一个很不错的选择。 1.概况 CCNode直接从CCObject继承而来,有如下几个特点: (1)...
阅读(8603) 评论(6)

[置顶] 【玩转cocos2d-x之五】导演类CCDirector

既然cocos2d-x都帮我们封装好了,使得开发与平台无关,那接下来我们就单纯地开始好好玩游戏吧!这几篇是对cocos2d-x一些基本且重要的元素进行解释和API介绍,之前没有系统的看过API,有时候某些功能引擎都已经提供好了,不知道还是会自己去写。所以全面地了解一下是必须的。 1.概况 导演类CCDirector是cocos2d-x引擎中非常重要的一个类,它是一个抽象...
阅读(8636) 评论(2)

[置顶] 【玩转cocos2d-x之四】cocos2d-x怎么实现跨平台

cocos2d-x到底是这样实现跨平台的呢?这里以Win32和Android为例。 1.跨平台项目目录结构 先看一下一个项目创建后的目录结构吧!这还是以HelloCpp为例。   从左边目录可以看到,Classes和Resource已经平台无关了,而Classes中包含了AppDelegate类,因此我们可以认为AppDelegate是与...
阅读(11798) 评论(1)

[置顶] 【玩转cocos2d-x之三】cocos2d-x游戏是怎么跑起来的

虽然cocos2d-x v3.0 alpha版已经出来了,也改进了不少,有兴趣的可以去尝尝鲜。因为后面可能还会配合cocoStudio写一下博客,而现在v1.0.0.0版本需要配合cocos2d-x v2.2.0使用。所以这里选择了V2.2.0版的cocos2d-x。 一个新的东西,从头开始吧!从HelloWorld出发看一下一个cocos2d-x游戏是怎么跑起来的。先看看它的结...
阅读(9692) 评论(7)

[置顶] 【玩转cocos2d-x之二】游戏和引擎构成

1.游戏构成 我们以超级马里奥游戏作为蓝本来描述一下一个游戏的构成。 1.首先我们需要一个容器来放置游戏元素,每一个关卡都是一个容器,这叫场景。 2.蓝天白云,各种板砖水管,这些是布景,放置在关卡中,通过布景的叠加,构成了游戏的主要背景。 3.主角马里奥兄弟和各种小怪兽,这些叫精灵。这是游戏互动的主要元素。 4.马里奥可以走路,可以跳跃,可以发射子弹。这些是精灵的动作。 5.过关了,要...
阅读(6667) 评论(2)

[置顶] 【玩转cocos2d-x之一】V2.2.0版本开发环境配置

现在cocos2d-x处在上升期,各个版本的变化还是比较大的,单从环境配置来看,从v2.0到v2.2就变化了不少。今天配置了一下V2.2.0环境,创建项目,并进行交叉编译,发现比之前麻烦了不少。这里稍微记录一下。3.0版本出来了,大概看了下目录和2.2的差不多,环境配置也基本一样。 1.VS,VA,Cygwin,Java,Eclipse,ADT,SDK,NDK 这里就不重复啰嗦这些了,...
阅读(17722) 评论(54)

[置顶] 【cocos2d-x入门实战】微信飞机大战之十五:跨平台移植和广告植入

cocos2d-x之微信打飞机实战演习,原滋原味的微信打飞机源码分享。...
阅读(19296) 评论(130)

[置顶] 【cocos2d-x入门实战】微信飞机大战之十四:背景音乐和音效

cocos2d-x之微信打飞机实战演习,原滋原味的微信打飞机源码分享。...
阅读(11532) 评论(25)

[置顶] 【cocos2d-x入门实战】微信飞机大战之十三:游戏场景过渡

cocos2d-x之微信打飞机实战演习,原滋原味的微信打飞机源码分享。...
阅读(8266) 评论(0)

[置顶] 【cocos2d-x入门实战】微信飞机大战之十二:分数的本地存储

cocos2d-x之微信打飞机实战演习,原滋原味的微信打飞机源码分享。...
阅读(8928) 评论(22)

[置顶] 【cocos2d-x入门实战】微信飞机大战之十一:游戏暂停和触摸屏蔽

cocos2d-x之微信打飞机实战演习,原滋原味的微信打飞机源码分享。...
阅读(10909) 评论(9)

[置顶] 【cocos2d-x入门实战】微信飞机大战之十:UFO层特殊道具

cocos2d-x之微信打飞机实战演习,原滋原味的微信打飞机源码分享。...
阅读(8376) 评论(23)

[置顶] 【cocos2d-x入门实战】微信飞机大战之九:碰撞检测

cocos2d-x之微信打飞机实战演习,原滋原味的微信打飞机源码分享。...
阅读(19505) 评论(81)

[置顶] 【cocos2d-x入门实战】微信飞机大战之八:自定义敌机精灵

cocos2d-x之微信打飞机实战演习,原滋原味的微信打飞机源码分享。...
阅读(14618) 评论(48)

[置顶] 【cocos2d-x入门实战】微信飞机大战之七:触摸事件和优先级

cocos2d-x之微信打飞机实战演习,原滋原味的微信打飞机源码分享。...
阅读(13987) 评论(40)

[置顶] 【cocos2d-x入门实战】微信飞机大战之六:子弹层的处理

cocos2d-x之微信打飞机实战演习,原滋原味的微信打飞机源码分享。...
阅读(14155) 评论(80)

[置顶] 【cocos2d-x入门实战】微信飞机大战之五:批次渲染

cocos2d-x之微信打飞机实战演习,原滋原味的微信打飞机源码分享。...
阅读(12100) 评论(33)

[置顶] 【cocos2d-x入门实战】微信飞机大战之四:主角的登场和帧动画

cocos2d-x之微信打飞机实战演习,原滋原味的微信打飞机源码分享。...
阅读(14879) 评论(81)

[置顶] 【cocos2d-x入门实战】微信飞机大战之三:引擎坐标系,锚点和背景滚动

cocos2d-x之微信打飞机实战演习,原滋原味的微信打飞机源码分享。...
阅读(16423) 评论(54)

[置顶] 【cocos2d-x入门实战】微信飞机大战之二:别急,先处理好CCScene和CCLayer的关系

cocos2d-x之微信打飞机实战演习,原滋原味的微信打飞机源码分享。...
阅读(21840) 评论(51)

[置顶] 【cocos2d-x入门实战】微信飞机大战之一:搞个飞机来玩玩

cocos2d-x之微信打飞机实战演习,原滋原味的微信打飞机源码分享。...
阅读(28915) 评论(56)

[置顶] 【cocos2d-x入门实战】环境配置、交叉编译及安卓项目的生成

1.配置cocos2d-x & Android开发环境 我想如果有意搞这个东东的,应该不用什么图文并茂了吧,稍微看一下就明白了。 1.1.安装VS2008 这是微软开发的集成开发环境,也是cocos2d-x的C++主战场。 下载地址:http://pan.baidu.com/share/link?shareid=532811852&uk=637953331 激活方式就不提供了,自...
阅读(20340) 评论(42)

(译)第三部分:什么是rebase?

内容提要 第一部分:commit hash是什么? 第二部分:merge是什么? 第三部分:rebase是什么? 在第一部分中,我们讨论了什么是commit hash,其中一个很重要的特点就是commit无法被修改。hash值是根据存储在commit中的信息生成的,所以修改一个commit或者commit hash,你必须要创建一个全新的commit。我们还讨论了每一个commit存储了它的前一个c...
阅读(1509) 评论(0)

(译)第二部分:什么是merge?

内容提要 第一部分:commit hash是什么? 第二部分:merge是什么? 第三部分:rebase是什么? 在第一部分我们创建了一个小的demo仓库,它拥有着一个feature1分支,而且这个分支已经准备好要merge到master分支中了。此时,我们可以选择merge或者rebase feature1分支到master分支。关于rebase将会在第三部分进行介绍。现在我们来看一下,采用mer...
阅读(1334) 评论(0)

(译)第一部分:什么是commit hash?

内容提要 第一部分:commit hash是什么? 第二部分:merge是什么? 第三部分:rebase是什么? 最近一段时间我在学习如何使用Git,碰到的一个难点:如何区别merge和rebase?大部分人都能理解merge的概念,但是对于rebase就不是很清楚了。在这三篇博文中我将尽可能用最简单的方式来解释它们的异同。不过在此之前,我们需要先了解一下什么是commit hash。如果你看过自己...
阅读(1246) 评论(0)

高仿QQ右下角新闻弹窗之MFC版

由于项目需要做一个类似于QQ新闻的消息弹窗,谷歌一下,有现成的。感谢@泪闯天涯的分享。原版是Win32实现的,我把它改成MFC版,可以在代码中直接使用。 1.开发环境 VS2010/MFC 2.源码说明 保留Win32API实现自绘,支持多种风格。为区分于Win32版,更名为CMsgWindow类,继承于CWnd类。修改的内容主要有: (1)Create函数中窗口的注册使...
阅读(4048) 评论(2)

【C++基础之二十一】菱形继承和虚继承

菱形继承是多重继承中跑不掉的,Java拿掉了多重继承,辅之于接口。C++中虽然没有明确说明接口这种东西,但是只有纯虚函数的类可以看作Java中的接口。在多重继承中建议使用“接口”,来避免多重继承中可能出现的各种问题。 1.菱形继承 先看一下菱形继承长什么样。 B和C从A中继承,而D多重继承于B,C。那就意味着D中会有A中的两个拷贝。因为成员函数不体现在类的内存大小上,...
阅读(9107) 评论(2)

【C++基础之二十】可变参数的函数

C++中可变参数的函数是从C中继承而来,可变参数的函数是指函数的参数个数可变,参数类型不定的函数。我们最常见的就是printf()。 1.可变参数函数实现原理 指定参数的函数实现很简单,通过通过指定的参数名访问就行了。但是如果不指定的呢?函数的调用的参数会进行压栈处理,详细可见此文函数调用机制。而对参数的压栈是从右到左进行压栈。而参数和参数之间存放是连续的,也就是说,只要知道第一个参数...
阅读(15097) 评论(3)

【C++基础之十九】函数对象

函数指针倒是蛮常见的,这函数对象又是什么呢?什么时候会用到函数对象? 1.什么是函数对象 函数对象就是定义了函数调用操作符,也就是operate()的对象。因此我们可以在定义函数调用操作符的时候,实现所需的函数功能。 2.示例 如上,其实最主要的还是operate()的定义,这和普通运算符的重载是一样的。 [cpp] view pl...
阅读(2917) 评论(1)
148条 共10页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1106456次
    • 积分:13599
    • 等级:
    • 排名:第985名
    • 原创:107篇
    • 转载:38篇
    • 译文:3篇
    • 评论:1433条
    新浪微博
    博客专栏
    文章分类
    最新评论