- 博客(103)
- 资源 (19)
- 收藏
- 关注
原创 C++检测空字符串
bool CharacterSelectLayer::checkNullString(const char* str){unsigned int length = strlen(str);if(length == 0){return true;}for(unsigned int i=0;i{if(str[i] != ' ' && str[i] != '\0'
2015-03-10 15:58:56 701
原创 C++单例模板类的实现和使用
为了方便后续单列类自己实现,所以统一写一个单例类的模板:Singleton.h#pragma once#include "stdlib.h"templateclass TSingleton{public: //create static void Create() { if ( !ms_pObjec
2015-03-06 09:57:43 1037
原创 lua学习之table表排序
在lua中table标准库提供一个排序函数,接受一个表作为输入参数并且排序表中的元素。这个函数必须能够对不同类型的值按升序或者降序排序。lua不是尽可能多地提供参数来满足这些情况的需要,而是接受一个排序函数作为参数。例如:network = {{name = "grauna" , IP = "210.26.30.34"},{name = "arraial", IP = "210.2
2015-02-27 14:26:15 1103
转载 C/C++野指针
一、莫名的恐惧感 对于指针确实有种莫名的恐惧感,从刚开始学习的时候就被老师灌输的概念是指针功能很强大,但是用得不够好,会有很大的副作用。什么叫用得够好?初学者谁都不会用,那且不是都不能用了?如果都这样,指针都没人用了,还要指针做什么? 陷入了上述困局的原因在于我们的这种莫名的恐惧感,指针如此之神秘,以至于如我一样大多数的人都望而生畏,无所适从,被迫放
2015-02-06 15:39:28 527
转载 strcpy和memcpy的区别
strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。
2015-02-06 15:19:57 426
转载 C++中的类所占内存空间总结
类所占内存的大小是由成员变量(静态变量除外)决定的,成员函数(这是笼统的说,后面会细说)是不计算在内的。摘抄部分: 成员函数还是以一般的函数一样的存在。a.fun()是通过fun(a.this)来调用的。所谓成员函数只是在名义上是类里的。其实成员函数的大小不在类的对象里面,同一个类的多个对象共享函数代码。而我们访问类的成员函数是通过类里面的一个指针实现,而这个指针
2015-02-05 14:33:33 429
转载 Base64
原文地址:http://www.ruanyifeng.com/blog/2008/06/base64.html虽然这样的初衷,是为了满足电子邮件中不能直接使用非ASCII码字符的规定,但是也有其他重要的意义:a)所有的二进制文件,都可以因此转化为可打印的文本编码,使用文本软件进行编辑;b)能够对文本进行简单的加密。2.首先,简单介
2015-02-03 10:47:08 447
转载 临时变量,局部变量的return操作
如果函数返回值是一个对象,要考虑 return 语句的效率。例如 return String(s1 + s2); 这是临时对象的语法,表示“创建一个临时对象并返回它” 。不要以为它与“先创建一个局部对象 temp 并返回它的结果”是等价的,如 String temp(s1 + s2); return temp; 实质不然,上述代码将发生三件事。首先,temp
2015-02-02 17:56:20 812
转载 C++ 强制类型转换
在C++语言里为了让强制类型转换更明显,更安全,所以把不同情况下的强制类型转换分为四种,分别为:static_cast 静态类型转换,属于最安全的强制类型转换。const_cast 在可变与不可变类型之间转换dynamic_cast 在多态的情况下,父子类之间的转换reinterpret_cast
2015-01-22 17:00:08 466
转载 C++多态
原文地址:http://www.360doc.com/content/11/0710/17/1976682_132733496.shtml1. 什么是多态多态是C++中的一个重要的基础,可以这样说,不掌握多态就是C++的门外汉。然而长期以来,C++社群对于多态的内涵和外延一直争论不休。大有只见树木不见森林之势。多态到底是怎么回事呢?说实在的,我觉的多态这个名字起的不怎么
2015-01-13 11:03:30 522
原创 cocos2dx 实现全局定时器
CCDirector::sharedDirector()->getScheduler()->scheduleSelector(schedule_selector(GameCenter::update), this, 0.1f, false,kCCRepeatForever, 0.0f);
2015-01-08 17:25:28 671
转载 C++中的枚举类型
有时我们希望某些常量只在类中有效。 由于#define 定义的宏常量是全局的,不能达到目的,于是想当然地觉得应该用 const 修饰数据成员来实现。const 数据成员的确是存在的,但其含义却不是我们所期望的。const 数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的,因为类可以创建多个对象,不同的对象其 const 数据成员的值可以不同。 不能在类声明中初始化 co
2015-01-04 14:58:12 475
转载 Cocos2dx学习笔记38 plist的异步加载
原文地址:http://cn.cocos2d-x.org/tutorial/show?id=556Cocos2d-x中和Android,Windows都一样,如果在主线程中处理一些耗时操作,那么主线程就会出现阻塞现象,表现在界面上就是卡住,未响应等情况。为了避免这种情况的出现,我们需要在后台开辟工作线程进行数据的处理,再采用消息传递或者其他形式来通知主线程进行UI变化。最常见的情况就是
2014-11-26 16:05:55 1006
转载 Cocos2dx学习笔记37 Json 数据解析rapidjson库的使用
cocos2dx 2.2.x 版本以后,使用rapidjson进行数据解析,因为的
2014-11-25 11:30:46 638
转载 Cocos2dx学习笔记36 多线程与异步加载
原文地址:http://cn.cocos2d-x.org/tutorial/show?id=1930
2014-11-25 09:57:07 799
转载 Cocos2dx学习笔记34 使用tolua++编译pkg,从而创建自定义类让Lua脚本使用
Cocos2dx中加入了lua,其中还包含tolua++。
2014-11-19 13:24:45 546
转载 Cocos2dx学习笔记32 Cocos2d-x里如何用TexturePacker和像素格式来优化spritesheet
原文地址:http://cn.cocos2d-x.org/tutorial/show?id=1473预备知识在Cocos2d-x里,为了使你的游戏获得最佳性能,你需要把许多小的 sprite 图片组合到一张大图里面,这张大图就叫做 sprite sheet(精灵表单)。这里我们将要借助一款叫做TexturePacker的工具来创建 sprite sh
2014-11-17 18:33:24 870
转载 Cocos2dx 学习笔记31 cocos2dx 播放gif
起因或许有人会说,cocos2dx中直接帧动画就行了用什么GIF。 起因是为游戏内部要用到第三方平台的头像,而第三方平台的头像大多都是用到Gif,所以才会有了这个需求过程查了各种文档都没找到。但是毋庸置疑的是,大多数解析库都是依赖gif_lib这个库的。 偶然间看到了android使用的skia库的gif解析参考skia的代码基础上,有了后来的gifforcocos
2014-11-17 14:05:07 1578
转载 cocos2dx 源码学习7 CCNS.h
原文地址:http://blog.csdn.net/runaying/article/details/16352675
2014-11-17 11:13:51 813
原创 cocos2dx 源码学习5 CCPointArray
今天在学习CCAction源码时,看到CCActionCatmullRom文件时,发现其中有个辅助类CCPointArray,记下来,方便以后也用到这种类型,其实我们大可自己实现,但是既然有了,就可以进行自己随意用了。先看下源码声明:class CC_DLL CCPointArray : public CCObject{public: /** creates an
2014-11-14 15:53:45 1411
转载 cocos2dx 源码学习1 文件架构
无意中浏览到cocos2dx1.cocos2d-X 节点(CCCamera.h.)APICCCamera.h 简单来将就是视角(比如你看到了一栋房子,你站在不同的角度看到的房子是不一样的,他就相当于你的眼睛所处的位置,他对于你创建 3d 效果是很有用的)2.COcos2d-X 节点(CCConfiguration.h)API CCConfiguration可以用来存储配置信息,
2014-11-13 13:28:29 1193
转载 Cocos2dx 学习笔记30 Cocos开发中性能优化工具(三):Visual Studio内存泄漏检测工具(Visual Leak Detector)
在Windows下有什么好的内存泄漏检测工具呢?微软提供Visual Studio开发工具本身没有什么太好的内存泄漏检测功能,我们可以使用第三方工具Visual Leak Detector(以下简称vld)。vld工具是VC++环境下一款小巧易用、免费开源的内存泄漏检测工具,vld可以显示导致内存泄漏的完整内存分配调用堆栈。vld的检测报告能够对每个内存泄漏点提供完整的堆栈跟踪,并且包含其
2014-11-11 14:36:39 1040
原创 Cocos2dx 学习笔记28 使用CCCamera注意事项
摄像机是coscos2dx引擎2.0版本加入的类,这主要是采用OpenGlES 3D的渲染技术。摄像机
2014-11-10 16:15:29 528
原创 Cocos2dx 学习笔记27 SimpleAudioEngine
在Cocos2dx中,声音播放由SimpleAudioEngine类来处理。在游戏中,我们把声音分为两类。第一类是音乐,这种类型的声音通常长度较长,适合作为环境音乐(例如游戏的背景音乐)。由于它的长度较长,同一时刻通常只能播放一首音乐。第二类是音效,它的特点是长度很短,但是可以同时播放多个音效,拥有很强的表现力。
2014-11-10 11:13:28 806
原创 Cocos2dx 学习笔记26 CCNotificationCenter的使用
在ios开发中,经常会使用到通知这种模式,在coscos2dx中也移植了这种模式,
2014-11-07 16:04:56 500
转载 Cocos2dx 学习笔记24 CCLabelTTF ,CCLabelBMFont,CCLabelAtlas
cocos2d的支持TTF(True Type字体)标签和纹理地图集标签。TTF标签的优点和缺点:(CCLabelTTF)所有的TTF字体的优点:任何大小,字距支持,等等。易于使用。无需使用外部编辑器。创建/更新速度非常慢,因为会创建一个新的纹理,尤其是在Android系统中。纹理地图集标签的优点和缺点:(CCLabelAtlas,CCLabelBMFont)创建/更新速度
2014-11-07 11:05:27 715
转载 Cocos2dx 学习笔记22 常用宏定义
与节点属性(property)相关的CC_PROPERTY_READONLYCC_PROPERTY_READONLY_PASS_BY_REFCC_PROPERTYCC_PROPERTY_PASS_BY_REFCC_SYNTHESIZE_READONLYCC_SYNTHESIZE_READONLY_PASS_BY_REF
2014-11-06 09:55:30 709
原创 Cocos2d-X 学习笔记 22 CCLayer 界面Touch事件处理
Cocos2d 开发中提供了两种touch处理方式,Standard Touch Delegate和 Targeted Touch Delegate方式(参见CCTouchDelegateProtocol.h中源代码),CCLayer默认是采用第一种方式(参见CCLayer的 registerWithTouchDispatcher方法)。
2014-11-05 15:38:20 1004
原创 Cocos2d-X 学习笔记 21 CCLayer响应手机按键
CClayer继承了CCKeypadDelegate类,所以可以响应CCKeypadDelegate
2014-11-05 14:55:25 620
转载 Cocos2d-X 学习笔记 21 CCString 分析
CCString简介CCString继承至CCObject,CCObjecte这个基类主要是为了自动内存管理而创建的。CCString提供一系列的接口,例如create,convert等等。常用的方法创建: /**使用std::string创建了一个字符串, 你也可以传递一个c字符串指针,因为std::string的构造函数可以访问c字符串指针
2014-11-05 10:43:19 476
转载 void变量 与 Void 指针
原文地址:void的含义void即“无类型”,void *则为“无类型指针”,可以指向任何数据类型。void指针使用规范①void指针可以指向任意类型的数据,亦即可用任意数据类型的指针对void指针赋值。例如:int * pint;void *pvoid;pvoid = pint; /* 不过不能 pint= pvoid; */如果要
2014-11-03 14:34:34 794
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人