自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

翻译 OpenGL像素缓冲对象(PBO)

免责申明(必读!):本翻译原稿来自以下链接,仅供学习交流之用,切勿进行商业传播。同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该翻译稿之人无任何关系。谢谢合作!http://www.songho.ca/opengl/gl_pbo.htmlOpenGL的ARB_pixel_buffer_object 扩展非常接近ARB_vertex_buffer_object。它

2015-08-03 23:56:06 3737

原创 TexturPacker

TexturPacker是一款制作图片非常棒的工具,之前开发coco2d-x游戏的时候就是用它来生成SpriteSheet的,而且它支持的游戏引擎和文件格式也是非常多的。       而且在xcode上它为大家提供了命令行接口,对于频繁修改图片要重新生成plist提供了方便。       最重要的,听网上说作者是个很不错的人,只要符合下面这些条件,就可以从作者那里获得一个免费的key(

2014-03-21 12:48:58 649

原创 CCFileUtils \r\n

CCFileUtils::sharedFileUtils()->getFileData(szFile, "rb", &nSize);各个平台的换行符:\r回车(跳到当前行的第一个位置),\n换行(跳到下一行的第一个位置)windows    \r\nunix\linux   \nmac      \r如果文本是在windows上编辑的,如abc\r\n但是在window

2014-03-05 19:39:07 630

原创 sublime text2装ctags插件

sublime text2装ctags插件用lua开发cocos2d-x麻烦就是lua没啥ide,用纯文本来的的话不仅没提示,找个函数都得翻好久,所以网上找了下,装下sublime text2加个插件ctags,可以简单的提高下开发速度一.安装Package Control    步骤如下:    1.打开控制台       方法1:View->show console

2014-01-14 21:24:51 1890

原创 Cocos2d-x-2.2.1如何创建工程,以及如何将工程独立出来

我也不晓得cocos2d-x从第几个版本就开始用python创建工程了,反正我最近下载的cocos2d-x-2.2.1就是用python创建咯,基本是一句话就帮我们搞定了,省了我们好多麻烦。 以下是windows下的创建的步骤:打开windows的命令行下,打开目录到cocos2d-x-2.2.1\cocos2d-x-2.2.1\tools\project-cr

2014-01-01 18:17:08 2273 4

原创 luaL_dofile和luaL_loadfile的区别

C++调用lua的时候要加载lua文件,用这两个都可以,那么它俩有什么区别呢?看文档中的解释:luaL_dofile:      它是这样子定义的:      (LuaL_loadfile(L, filename) || lua_pcall(L, 0, LUA_MULTRET, 0))      可以很明显的看出来,它不仅【加载】了,还【运行】了。      这个函数的返回

2013-12-01 23:05:17 13946 1

翻译 NDK之CPLUSPLUS-SUPPORT(C++支持的android NDK)

本文翻译的是NDK-r9b中的CPLUSPLUS-SUPPORT.html,即"C++支持的android NDK"在NDK中,android平台提供了一个非常小的C++运行时(runtime)支持库(/system/lib/libstdc++)以及相应的头文件。 默认的,'system'运行时(runtime)【没有】提供下面的功能:             。标准C++库的支持

2013-11-29 22:52:44 1396

原创 lua小结

这两天看lua,下面是个人感觉lua比较其他语言特别的地方(先记录这些,之后再编辑完善)【热更新】这个是重中之中,之前比较反感lua的,一个原因是比较熟悉python了,感觉多学几门也没什么用,一门精就好了,不过想以后的游戏项目提高下开发效率,然后最重要的是想让游戏的逻辑代码可以像资源那样可以服务器推送,不用每次出行的版本才可以改逻辑代码。TODO:具体方法之后再完善【re

2013-11-23 00:21:10 685

原创 两个栈来模拟队列

用两个栈来模拟队列,注意,当pop元素之后,不需要把元素重新恢复成原来的位置。写了好久的c++,今天终于尝试到用template来写类了,感觉不错。比较简单,所以这个就不写注释了.#include #include templateclass Queue{public: Queue():m_stack1(), m_stack2(){} ~Queue(){} // 插入元素

2013-11-16 21:12:12 499

原创 重建二叉树

#include #include typedef struct Node{ int m_data; Node* m_lchild; Node* m_rchild;}Node, *BiTree;// 重建二叉树// @pre[]:前序遍历的序列// @pre_index_start:前序遍历开始的索引// @ord[]:中序遍历的序列// @ord_index_start

2013-11-16 15:14:23 627

原创 遍历二叉树

遍历二叉树有【前序遍历】,【中序遍历】已经【后续遍历】。当然了如果用递归的方式呢,几句就搞定了不过呢,因为递归都有个缺陷,就是如果树的深度太大的话,容易使栈溢出,所以得自己模拟栈来遍历就不会有这个问题了。下面是用了【递归】和【非递归】两种方式对二叉树进行了【先序遍历】.include #include typedef struct Node{ int m_data; Node* m_

2013-11-16 14:09:47 741

原创 逆序输出链表的元素

逆序输出链表的元素:一般输出元素都是不改变数据结构的啦,所以要逆序输出链表的元素,先去掉将每个结点指向下一个结点改成指向上一个结点的念想先,所以,最先可以想到的就是用递归实现咯,但是递归实现有个问题,就是当元素太多的时候,会导致栈溢出,所以,我们也可以自己实现栈来存储结点的嘛,下面就用了两种方法实现.#include #include typedef struct Node{ int

2013-11-16 11:15:43 1335

原创 数据结构之链表

#include using namespace std;typedef struct Node{ int m_data; Node* m_next;}Node, *List;bool insertList(List& list, int index, int e){ Node* p = list; int cur_index = -1; // p指向要插入的位置的前一个

2013-11-12 22:58:22 360

原创 数据结构之平衡二叉树AVL

平衡二次树AVL:是二叉查找树的改进版,不会像二叉查找树一样,在碰到序列有序是糟糕成达到O(n),平很二叉树在每次插入的时候,都会试图检查左右子树的高度差是不超过1(包括1),如果超过了,就会调整树的结构,使树一直保持平衡,以至于达到非常好的效率,O(logn). #include using namespace std;typedef struct BBNode{ int m_d

2013-11-11 21:38:04 766

原创 数据结构之二叉查找树

二叉查找树:是支持动态查询的查询算法,即可以插入和删除查询:遵循二叉树的规则,关键字的值大于左子树的值,小于右子树的值插入:通过查询操作,如果存在,当然不用再插入咯,如果失败,则返回应该插入位置(NULL)的父结点,如果父结点为NULL,只有一种情况,那么要插入的关键字为第一结点,连父结点也不存在;如果父结点不为NULL,那很容易,比对下父结点的数据,就可以知道关键字得插入在左子树,还

2013-11-07 22:10:56 547

原创 数据结构之折半查找

折半查找:就是对一组有序的数据(必须是有序,然后递增的,不过也可以是递减的,不过得稍微修改下代码), 每次取序列中间的数与关键字比较,如果关键字小于中间的数,则关键字不可能落在大于中间到最右边的那一 段序列里,所以下一次就只需要在中间数的左边的序列里查找,如果关键字大于中间的数,类似于小于中间的数, 下一次查找只需要查找右边序列。  (初始化): left = 0; r

2013-11-03 15:32:25 2926

原创 数据结构之冒泡排序

冒泡排序:每趟排序,从左到右,不断比较交换(把大的往后移动)#include using namespace std;// 冒泡排序void bubbleSort(int data[], int n){ int temp; // 有时候不用n趟排序就已经排好序了,用is_swap来标记 bool is_swap; int cnt = 0; for (int i = 0;

2013-11-03 00:10:42 539

原创 数据结构之快速排序

快速排序:是通过每趟排序,将待排序的序列分割为两部分,一部分比关键点小,一部分比关键点大,然后再将那两部分再进行快速排序。快速排序对随机序列的效率比较好,但是,对于有序序列就差,尤其是关键点选择不当,之前就有用快速排序因为是有序的,然后关键字一直选第一个,结构到值递归的层数太深,所以崩了,python递归最大层数为976,vs2008则有4000多。#include using name

2013-11-02 23:45:40 825

原创 数据结构之希尔排序

直接插入排序在数据量较小而且接近"正序"的时候,时间复杂度可以小至O(n),所以如果我们能够让数据量变小且变得接近"正序",然后用直接插入排序就好了。希尔排序就是做这么个事情,它首先将数据拆成几部分,即达到缩小数据规模排序,再将数据合并起来,达到整体的"正序",然而将数据的正序并非局部的"正序",即不是(6,7,8, 3,4,5, 0,1,2),而是整体的正序,所以在将数据分割成几组的时候不能一堆

2013-11-02 17:15:59 665

原创 数据结构之直接插入排序

直接插入排序:就是把待排序的序列R分为两部分R1[0,1,...i],R2[i+1,i+2...n-1],R1为有序区,R2为无序区,每趟排序就是 将元素R2[i+1]在R1中找到合适的位置,然后插入元素。 其过程是这样子的,先将元素R2[i+1]保存到变量save中,然后从后向前,逐个与序列R1序列的元素进行比较,如果小于,则将 当前R1中与元素R2[i+1]比较的元素向后移动一个位

2013-11-02 10:11:02 698

原创 数据结构之堆排序

#include using namespacestd; // 将根节点root筛选成最大结点,// 注意root的【左右孩子】(root不用满足,不然就不用sift了)必须满足堆的性质了(即父节点必须大于左右孩子)// 最初拿到数据时,我们是从倒数第一个有孩子的结点(n/2)开始的,而他的孩子是叶子,叶子满足堆的性质。void sift(int src[],

2013-11-01 08:14:37 468

原创 数据结构之二叉树

鉴于经常忘记这些基本的数据结构的性质,不得不重新去看下书,所以决定边看边记录下来。 一.   概念二叉树肯定是一棵树啦,关键是它他最多只能有两棵子树(度最多为2),且有左右子树之分。 二.   性质(1)第i层最多有个结点 (2)深度为k的树最多有n =-1个结点等比公式为: 由(1)可知n =,所以 (3

2013-10-22 22:18:11 486

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除