11 2014 档案
VS2013中设置大小写的快捷键
摘要:1.我们在定义头文件时,通常需要定义:#ifndef _MainMenu_H_#define _MainMenu_H_ your code...#endif我们需要将头文件名设置为大写的:#ifndef _MAINMENU_H_#define _MAINMENU_H_2.快捷键:双击:选中内容ctr... 阅读全文
posted @ 2014-11-29 21:38 你好中国 阅读(3334) 评论(0) 推荐(0)
cocos3.2版本中的一些新特性
摘要:1.设置屏幕分辨率的大小,需要手动添加:2.去掉了所有CC开头的命名:3.所有的单例(以前是采用shared开头方法),全部改为getInstance();4.cocos3.x以上的版本支持C++11的特性,例如使用auto关键字,支持进行自动类型推导,也支持lamba表达式,bind等:5.设置Z... 阅读全文
posted @ 2014-11-27 01:09 你好中国 阅读(363) 评论(0) 推荐(0)
cocos2dx中的设计分辨率与屏幕适配策略
摘要:1.首先明确几个概念:设计分辨率:designResolution,即资源图片的设计尺寸,即美工给你的资源图片的大小,比如(641*964)屏幕分辨率:又叫帧的大小,glview->setFrameSize(480,640);这是指你的设备的屏幕的大小,通常手机的屏幕分辨率也就那么几种固定的大小,如... 阅读全文
posted @ 2014-11-26 22:15 你好中国 阅读(1617) 评论(0) 推荐(0)
cocos3.2中如何创建一个场景
摘要:1.可以将一些比较通用的东西放到Common.h中,这是一个.h文件,必须手动添加,且保证在classes目录里#ifndef __COMMON_H__#define __COMMON_H__#include "cocos2d.h"USING_NS_CC;#define winSize Direct... 阅读全文
posted @ 2014-11-26 21:26 你好中国 阅读(293) 评论(0) 推荐(0)
C++中的虚函数(类的向上转换,和向下转换)
摘要:1.C++中的封装时为了代码的模块化,继承是为了代码的重用,而多态则是为了接口的重用.2.C++中的多态是用虚函数来实现的.3.子类对象向父类指针的转换(向上转换)是安全的,隐式的,而父类对象向子类指针的转换(向下转换)是不安全的,用dynamic_cast转换会得到一个空指针.4.普通的成员函数会... 阅读全文
posted @ 2014-11-24 19:31 你好中国 阅读(1552) 评论(0) 推荐(0)
C++中的冒泡排序,选择排序,插入排序
摘要:最简单的插入排序:思想,两两之间比较,时间复杂度o(n^2)void bubblesort(vector&vec, int n){ if (&vec==NULL) return; int temp; bool flag; for (int i = 0; i ve... 阅读全文
posted @ 2014-11-23 20:49 你好中国 阅读(508) 评论(0) 推荐(0)
C++中的快速排序(使用vector和数组的不同)
摘要:1.快速排序是最最基本的排序算法之一,时间复杂度是O(nlog2(n))基本思想:分治法+递归假设key为该序列的第一个元素,从后往前遍历,找到第一个小于key值的元素,将该元素赋值给左边的起始值,再从前往后遍历,找到第一个大于key值的元素,将其赋值给刚才右边第一个小于key值的值,当lowvoi... 阅读全文
posted @ 2014-11-22 21:22 你好中国 阅读(6074) 评论(0) 推荐(1)
C/C++中的可变参函数
摘要:可变参函数最好的实例:printf();参数可变包含的头文件:C语言中:#includeC++中的可变参的头文件:#include,它其实就是包含了C语言中的可变参头文件stdarg.h试想一下我们假如想定义一个函数,我们在调用之前(在运行期之前)根本不知道我到底要调用几个参数,并且不知道这些参数是... 阅读全文
posted @ 2014-11-18 20:10 你好中国 阅读(864) 评论(0) 推荐(0)
C++中的多重继承与虚继承的问题
摘要:1.C++支持多重继承,但是一般情况下,建议使用单一继承.类D继承自B类和C类,而B类和C类都继承自类A,因此出现下图所示情况:A A\ / B C \ / D而类D中会出现两次A。为节省内存空间,可以将B、C对A的继承定义为虚拟继承,而A就成了虚拟基类。又叫钻石继承,菱形... 阅读全文
posted @ 2014-11-18 11:08 你好中国 阅读(1347) 评论(1) 推荐(0)
C语言中的字符串拷贝函数strcpy和内存拷贝函数memcpy的区别与实现
摘要:strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符'\0'。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src)... 阅读全文
posted @ 2014-11-18 09:50 你好中国 阅读(26181) 评论(1) 推荐(0)
C++中使用心得
摘要:1.struct成员默认访问方式是public,而 class默认访问方式是private!2.exit函数终止程序执行会调用析构函数 ,abort函数终止程序不会调用析构函数!3.静态局部变量直到程序终止时才退出!4.通过public 函数返回 private成员的引用有可能会破坏类的封装 ,造成... 阅读全文
posted @ 2014-11-18 09:30 你好中国 阅读(379) 评论(0) 推荐(0)
C++中的运算符优先级
摘要:1 () [] . ->2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof 3 * / % 4 + - 5 >> >= >= <<=15 , 阅读全文
posted @ 2014-11-18 08:28 你好中国 阅读(183) 评论(0) 推荐(0)
C++中const关键字详解
摘要:1.什么是const?const意味着是常量类型,被const修饰的变量或对象是不能被修改和更新的,当然在某些情况下,我们可以偷梁换柱的改变它.2.为什么要引入const?最初的目的是为了取代预编译指令:define MAX (1024) ,显然这样的宏定义常量是C语言中继承而来的,C++意识到这种... 阅读全文
posted @ 2014-11-18 01:19 你好中国 阅读(391) 评论(0) 推荐(0)
C++中的仿函数,std::function和bind()的用法
摘要:1.仿函数:又叫std::function,是C++中的一个模板类2.C语言中的函数指针:int add(int a,int b){ return a+b;}typedefint (*func)(int,int);//给函数类型定义别名func func1;func1=add;//给函数指针初始化... 阅读全文
posted @ 2014-11-16 01:48 你好中国 阅读(10494) 评论(0) 推荐(1)
C++中的lambda表达式
摘要:1.基本形式:[捕获列表](参数列表){函数体}; 其中捕获列表和函数体不能省略但是捕获列表可以为空,也就是说最简单的lambda表达式是: []{};2.lambda表达式又叫匿名函数,即没有函数名的函数,C++中,一个lambda表达式表示一个可调用的代码单元。我们可以将其理解为一个未命名的内联... 阅读全文
posted @ 2014-11-16 01:09 你好中国 阅读(709) 评论(0) 推荐(0)
C++中用辗转相除法求两个数的最大公约数和最小公倍数
摘要:两个数的最大公约数:不能大于两个数中的最小值,算法口诀:小的给大的,余数给小的,整除返回小的,即最大公约数,(res=max%min)==0? max=min,min=res return min;两个数的最小公倍数:等于两数之和除以两个数的最大公约数 a*b/(LCM(a,b));#include... 阅读全文
posted @ 2014-11-15 23:59 你好中国 阅读(3965) 评论(0) 推荐(0)
cocos2dx中的格子地图TileMap
摘要:格子地图的优点:a.节省内存,我们知道对于一款游戏来说,如果以图片来作为地图的话,对于神庙逃亡,魂斗罗这样的场景很多,地图很长的游戏显然不现实,因为图片很占内存,但是这些游戏的地图有一个特点就是:重复的部分很多,比如魂斗罗游戏的每一关的地图里边,无外乎,陆地,海洋,天空,草地等等这些元素,设想我们把... 阅读全文
posted @ 2014-11-14 20:26 你好中国 阅读(1314) 评论(0) 推荐(0)
cocos2dx中的三种基本的数据类型
摘要:cocos2dx中提供了三种基本的数据类型:CCString(字符串),CCArray(数组),CCDictionary(数据字典(哈希的功能))2.CCString的用法class CCString : public CCObject,可见CCString本质是一个CCObject,因此支持cre... 阅读全文
posted @ 2014-11-14 13:02 你好中国 阅读(1005) 评论(0) 推荐(0)
cocos2dx中的用户数据的管理
摘要:提供了专门的类:CCUserDefault用来管理,且提供了单例方法:sharedUserDefault()1.会在默认路径cocos2d-x-2.2.3\projects\Hello\proj.win32\Debug.win32下生成一个名为UserDefault.xml 的文件,xml文件中存储... 阅读全文
posted @ 2014-11-14 12:51 你好中国 阅读(284) 评论(0) 推荐(0)
cocos2dx中的CCRect的用法
摘要:CCRect是cocos2dx中的一块矩形区域常用于碰撞检测及渲染时限定纹理的大小CCRect rect=spr.boundingBox();CCRect rect=CCRect(0,0,spr.width,spr.height);CCRect rect=CCRect(spr->boundingBo... 阅读全文
posted @ 2014-11-12 23:46 你好中国 阅读(2283) 评论(0) 推荐(0)
cocos2dx中创建动画的三种方法
摘要:1.最最原始的方法,先创建动画帧,再创建动画打包(animation),再创建动画(animate)第一步:创建动画帧:CCSpriteFrame,依赖于原始的资源图片(xx.png,xx.jpg)CCSpriteFrame *frame1=CCSpriteFrame::create("1.png"... 阅读全文
posted @ 2014-11-12 22:09 你好中国 阅读(5394) 评论(0) 推荐(0)
cocos2dx中的假动作,又称动作回调函数
摘要:1.动作与动画的区别动作是:定时器+属性的改变,是帧循环的累积效应动画是:帧图片的播放效果,我们知道电影的播放就是快速播放的胶片,这就是动画的原理2.假动作:又称动作回调函数四大类假动作:callfunc_selector() 对应的回调函数是:void funcCallBack();callfun... 阅读全文
posted @ 2014-11-12 20:32 你好中国 阅读(617) 评论(0) 推荐(0)
cocos2dx中的动作
摘要:CCAction是cocos2dx中专门用来处理动作相关的类,几乎所有的与动作相关的类都是从它派生而来的.而CCAction继承自CCObjectclass CCFiniteTimeAction : public CCAction由CCFiniteTimeAction 派生出的两个主要类分别是:瞬时... 阅读全文
posted @ 2014-11-11 17:07 你好中国 阅读(405) 评论(0) 推荐(0)
cocos2dx中常见的类及类继承关系
摘要:场景:CCScene,继承自CCNode,几乎完全等于CCNode类CCNode继承自CCObject,CCObject是真正意义上的父类,CCObject又继承自CCCopying类,CCCopying的只是定义接口,完全虚基类CCObject主要定义了两方面的内容:1.是有内存管理有关的东西,如... 阅读全文
posted @ 2014-11-11 14:28 你好中国 阅读(505) 评论(0) 推荐(0)
Cocos2dx中的四种控件及主要用法
摘要:1.控件:即控制对象,控制按钮之类的精灵2.主要介绍四大类控件:CCControlSlider:进度条CCControlSwitch:开关CCScale9Sprite:9妹图(用于缩放)CCControlButton:控制按钮,最复杂,最灵活3.使用方法:a.创建一个进度条:CCControlSli... 阅读全文
posted @ 2014-11-11 10:53 你好中国 阅读(858) 评论(0) 推荐(0)
cocos2dx中的菜单项CCMenuItem及其五个子类的使用
摘要:/*CCMenuItem是一个虚基类,因此必须实现它的五个子类之一,再把子类对象赋给父类指针,相当于多态*/ CCMenuItem *fontItem = CCMenuItemFont::create("menuItemFont", this, menu_selector(T11CCMenu:... 阅读全文
posted @ 2014-11-08 11:23 你好中国 阅读(1938) 评论(0) 推荐(0)
cocos2dx中创建标签CCLabel的三种方法及特点
摘要:创建标签的三种方式:1.CCLabelTTF (True Type Font,又叫本地字体)这是最简单,也是最常用的方式,不依赖于资源文件,也不依赖于某个系统,所指定的字体如果系统没有,则会提供默认的字体,使用相当方便创建方式:CCLabelTTF *ttf=CCLabelTTF::create("... 阅读全文
posted @ 2014-11-08 09:05 你好中国 阅读(769) 评论(0) 推荐(0)
cocos2dx中的内存管理机制及引用计数
摘要:1.内存管理的两大策略:谁申请,谁释放原则(类似于,谁污染了内存,最后由谁来清理内存)--------->适用于过程性函数引用计数原则(创建时,引用数为1,每引用一次,计数加1,调用结束时,引用计数减1,当引用计数为0时,才会真正释放内存) --------->适用于注册性函数(消息处理,中断等场合... 阅读全文
posted @ 2014-11-05 23:44 你好中国 阅读(459) 评论(0) 推荐(0)
cocos2dx中的触摸事件及触摸优先级
摘要:1.只有CCLayer及其派生类才有触摸功能.2.开启触摸setTouchEnable(true);3.设置触摸模式,单点,多点(仅IOS支持)setTouchMode(kCCTouchesOneByOne);//单点触摸4.需要重载(override)的四个触摸事件函数bool ccTouchBe... 阅读全文
posted @ 2014-11-05 22:15 你好中国 阅读(703) 评论(0) 推荐(0)
cocos2dx中的定时器及其分类
摘要:cocos2dx中的定时器分三大类:1.帧循环定时器2.一次性定时器3.自定义定时器一.帧循环定时器,顾名思义,每一帧都会执行一次,用于实时性要求比较高的场合,如碰撞检测void scheduleUpdate(void);//其实是schedule+Update的组合,即定时执行Update函数的意... 阅读全文
posted @ 2014-11-05 19:48 你好中国 阅读(621) 评论(0) 推荐(0)
cocos中BatchNode精灵集合的使用
摘要:1.CCSpriteBatchNode是为了提高渲染效率而实现的,它继承自CCNode2.fps:帧率,是游戏中衡量流畅度的一个很重要的概念,cocos中默认的帧率是60,即一秒刷新60帧3.精灵集合的原理:提前将要渲染的图片用batchnode加载到内存,需要使用时,直接从内存提取,省去了加载的过... 阅读全文
posted @ 2014-11-05 12:19 你好中国 阅读(1198) 评论(0) 推荐(0)
cocos2dx中的坐标体系
摘要:1.UI坐标系和GL坐标系2.本地坐标与世界坐标本地坐标是一个相对坐标,是相对于父节点或者你指明的某个节点的相对位置来说的,本地坐标的原点在参考节点的左下角世界坐标是一个绝对的坐标,是以屏幕的左下角为坐标原点,与GL坐标是重合的.3.Ui坐标与GL坐标和Node坐标UI坐标是以UI坐标系来计算的,又... 阅读全文
posted @ 2014-11-05 11:15 你好中国 阅读(1352) 评论(0) 推荐(0)
cocos2dx中的背景图层CCLayerColor和渐变图层CCLayerGradient
摘要:1.CCLayerColor是专门用来处理背景颜色的图层,它继承自CCLayer,可以用来设置图层的背景颜色,因为CCLayer默认是透明色的,即无颜色的2.CCLayerGradient是用来显示颜色渐变效果的图层,它继承自CCLayerColor,是CCLayer的孙类3.几个特殊的图层:CCL... 阅读全文
posted @ 2014-11-05 10:34 你好中国 阅读(1410) 评论(0) 推荐(0)
精灵的属性Zorder的设置
摘要:1.Zorder是CCSprite从父类CCNode那继承来的protected属性:class CCNode{protected: int m_nZOrder; ///setScale(0.3f); CCSprite * woman = CCSprite::create("zorder/w... 阅读全文
posted @ 2014-11-05 09:35 你好中国 阅读(689) 评论(0) 推荐(0)
cocos2.2.3中创建精灵对象的三大类方法
摘要:1.众生相,皆精灵2.精灵的类继承关系class CCSprite : public CCNode, public CCNodeRGBA, public CCTextureProtocol3.创建精灵的三大类方法4.代码实现/** * Creates an empty sprite with... 阅读全文
posted @ 2014-11-05 09:09 你好中国 阅读(417) 评论(0) 推荐(0)
什么是差值查找?
摘要:1.插值查找与二分查找很类似,都是用于在有序的基础上查找某个元素2.二分查找的原理是,每次都取一半,然后与mid值比较,再决定下一次查找的范围3.设想在一本英文字典里查找某个单词,因为是根据字母序排列好的,你不会傻到采用二分查找的方法,先找到这本字典的一半,再取这本字典的四分之一...这样下去比较吧... 阅读全文
posted @ 2014-11-02 17:50 你好中国 阅读(830) 评论(0) 推荐(0)