自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CC专栏

为追逐游戏开发梦想而奋斗

  • 博客(69)
  • 资源 (7)
  • 收藏
  • 关注

原创 Mac下安装mysql失败的解决方法

我安装的版本是mysql-5.6.21-osx10.9-x86_64.dmg,在Mac OS X 10.10系统上安装时提示安装失败,如下图。解决方法在安装过程中的第三步,选择安装类型时选择自定义,把Starup Item的勾选取消,不让mysql作为开启启动项,则可以成功安装,如下图。

2015-02-13 10:31:18 4271 1

原创 C中setjmp和longjmp用法

C中提供了goto语法,可以通过goto跳转到函数体内部标记的某一行代码,但是却无法跳出函数之外的任意位置。为了解决这个限制,C函数库提供了setjmp()和longjmp()函数,它们分别承担非局部位置记录标号和goto作用。使用这两个函数需要包含头文件int setjmp(jmp_buf env)建立本地的jmp_buf缓冲区并且初始化,用于将来跳转回此处。这个子程序保存程序

2015-01-28 16:32:10 4496

原创 cocos2d-x 2.x版本文字描边研究01_使用shader描边

由于Cocos2d-x 2.x版本对描边支持的不好,3.X的基于Freetype的字库的描边效果还是不错的,但项目用的是旧版本引擎,又需要用到描边字,最近也研究了几种描边的方法,想分享一下。在网上找了很多种描边的方式,各有优劣,有的描边效果很不错,而有的效果稍差但绘制效率更高。“云风”大哥的ejoy2d引擎中提供了一种效率很高的描边算法,使用ejoy2d进行描边时,有不错的效果,

2015-01-27 20:16:58 4191 1

原创 OpenGL学习10_绘制行星系统

下面的Demo还使用了多种组合变换来实现地球绕太阳公转和自转的实现,还是直接看代码,有详细的注释。//// main.cpp// OpenGL_11_Planet//// Created by apple on 15/1/20.// Copyright (c) 2015年 cc. All rights reserved.//#include #include st

2015-01-26 11:31:13 5505

原创 OpenGL学习09_裁剪平面ClipPlane

除了视景体的6个裁剪平面(左、右、底、顶、近和远)之外,还可以另外再指定最多可达6个的其他裁剪平面,对视景体施加进一步的限制。每个平面都是由它的方程式Ax + By + Cz + D= 0的系数所指定的。裁剪平面会根据模型和视图矩阵自动执行适当的变换。最终的裁剪区域将是视景体与其他裁剪平面定义的所有半空间的交集。记住,OpenGL会自动对部分被裁剪的多边形的边进行正确的重构。void

2015-01-20 11:36:20 8415

原创 OpenGL学习08_几何变换

OpenGL需要通过视图变换,模型变换,投影变换,视口变换,绘制场景这一系列步骤将图像绘制出来。1、模型变换和视图变换从“相对移动”的观点来看,改变观察点的位置与方向和改变物体本身的位置与方向具有等效性。在OpenGL中,实现这两种功能甚至使用的是同样的函数。由于模型和视图的变换都通过矩阵运算来实现,在进行变换前,应先设置当前操作的矩阵为“模型视图矩阵”。设置的方法是以GL_MODEL

2015-01-20 11:10:32 2016

原创 OpenGL学习07_绘制立方体

OpenGL在绘制场景之前,需要先产生或者说定义一个场景,这个产生目标场景视图的过程类似于照相机拍照的过程。1.把照相机固定在三角架上,并让它对准场景(视图变换)。2.对场景进行安排,使各个物体在照片中的位置是我们所希望的(模型变换)。3.选择照相机镜头,并调整放大倍数(投影变换)。4.确定最终照片的大小。例如,我们很可能需要把它放大(视口变换)。5.在完成这些步骤之后,就可以

2015-01-10 14:25:27 5332

原创 OpenGL学习06_顶点数组VertexArray

什么是顶点数组?OpenGL提供了一些顶点数组函数,允许只用少数几个数组指定大量的与顶点相关的数据,并用少量函数调用(与顶点数组的数量相仿)访问这些数据。使用顶点数组函数,一个拥有20条边的多边形的20个顶点可以放在1个数组中,并且只通过1个函数进行调用。如果每个顶点还有一条法线向量,所有20条法线向量可以放在另一个数组中,也可以只通过1个函数进行调用。把数据放在顶点数组中可以提高应用程序的性

2014-12-30 17:49:05 4722

原创 OpenGL学习05_点画模式(点画多边形)

在默认情况下,填充多边形是用实心模式绘制的。此外,它们还可以使用一种32位×32位的窗口对齐的点画模式。glPolygonStipple()函数用于指定多边形的点画模式。void glPolygonStipple(const GLubyte *mask);定义填充多边形的当前点画模式。mask参数是一个指向32×32位图的指针,后者被解释为0和1的掩码。如果模式中出现的是1,那么多边形中对

2014-12-30 12:10:45 3406

原创 OpenGL学习04_点画模式(点画线)

viod glLineStipple(GLint factor,GLshort pattern);OpenGL中设置直线的当前点画模式。pattern参数是由1或0组成的16位序列,它们根据需要进行重复,对一条特定的直线进行点画处理。从这个模式的低位开始,一个像素一个像素的进行处理。如果模式中对应的位是1,就绘制这个像素,否则就不绘制。模式可以使用factor参数(表示重复因子)进行扩展,它与1和

2014-12-30 09:54:36 8988

原创 OpenGL学习03_双缓冲DoubleBuffering

双缓冲的是什么?我们看电视时,看到的屏幕称为OSD层,也就是说,只有在OSD层上显示图像我们才能看到。现在,我需要创建一个虚拟的、看不见但是可以在上面画图(比如说画点、线)的OSD层,我称之为offscreen(后台缓冲区)。这个offscreen存在于内存中,我们在上面画图,这个offscreen上面的东西可以显示在OSD层上,需要一个创建这个offscreen的函数,返回这个offscre

2014-12-28 20:28:11 6689

原创 OpenGL学习02_函数语法与命名规范

OpenGL函数的命名规则函数的开头前缀为“gl”,并把组成函数的每个单词的首字母用大写形式表示(例如,glClearColor())。类似地,OpenGL还定义了一些以前缀GL_开头的常量,所有的单词都使用大写形式,并以下划线分隔(例如GL_COLOR_BUFFER_BIT)。

2014-12-28 16:12:42 3030 1

原创 OpenGL学习01_Mac OS X环境搭建

Mac上搭建OpenGL环境比较简单,我使用的是操作系统是Mac OS X 10.10版本,OpenGL版本是3.0/3.1,开发环境XCode6.1,参考的书籍《OpenGL编程指南》中文第七版。一、使用XCode创建OpenGL项目1.使用XCode创建项目,依次选择OS X -- Application -- Command Line Tool -- 点击Next2.输入

2014-12-28 15:56:17 10552 7

原创 Cocos2d-x 分享一个封装的Sqlite3的DBUtil类

分享一个Cocos2d-x访问Sqlite3数据库的单例的DBUitl类,对增删改查以及事务操作等常用的API进行了一下简单的封装,还有很多不太完善的地方,希望大家帮我改进。分别对Cocos的2.x版本和3.x版本进行了封装。2.x版

2014-12-27 21:51:55 2328 1

原创 Cocos2d-x 3.x RenderTexture渲染纹理源码分析

最近在学习3.x的源码,3.x的渲染机制改动比较大,改变了之前在每帧遍历所有的Node树节点时通过draw()方法中的直接渲染,而是通过生成渲染指令并将渲染指令发送到渲染队列,在每一帧结束时进行延迟渲染,这样就把游戏循环和渲染分离开来,2dx官方说要把渲染放在一个独立的线程来处理,按照3.x现在的架构可能不久就会实现。Cocos2d-x提供了一个RenderTexture类来支持把帧缓冲中的数

2014-12-27 20:47:43 10740 1

原创 Objective-C 分类Category

OC提供了一种可以在不修改类的源码基础上,扩展类的方法的功能,"分类"Category,这个机制和C#中的扩展方法类似,一般用于在不方便修改类的源码时(如OC系统相关的类库),但有有需求要拓展类的方法,可以使用分类来实现。Java中应该是没有提供相关的机制,但是Java可以通过动态代理来实现AOP,在切入点前后执行代码逻辑,个人认为比OC还要方便。//// Girl.h// 10_

2014-12-23 17:17:13 828

原创 cocos2d-x编译Andorid报错make: *** No rule to make target

最近遇到了使用cocos2d-x 3.2编译Android工程报错如下:make: *** No rule to make target `/Users/apple/Work/Project/cocos2d-x/cocos2d-x-3.2/projects/GuessMovie/proj.android ../../../extensions/AssetsManager/AssetsMan

2014-12-07 09:57:39 4848

原创 Unable to execute dex: java.nio.BufferOverflowException解决方法

最近在Eclipse中开发Android中遇到了问题,报错:Unable to execute dex: java.nio.BufferOverflowException,研究了一下,找到了解决方案。一、在项目上右键,选择Properties二、选择最左侧的Java Build Path标签,按照下图把Android Dependencies和Android Private Lib

2014-12-07 09:34:38 854

原创 Objective-C 内存管理retain和release

OC使用引用计数来管理内存,每一个继承NSObject的对象,内部都维护了一个引用计数器retainCount,当对象创建时(调用alloc或者new)引用计数器会+1, 手动调用retain()方法可以使引用计数器+1,手动调用release()方法可以使引用计数器-1,当引用计数器为0时,对象会自动调用"析构函数" dealloc()方法来回收资源和释放内存。这样当一个对象被多个地方使用和

2014-11-12 13:30:15 3012

原创 Objective-C @property关键字

OC中提供了@property的关键字来声明变量,来简化开发人员手写getters和setters,同时不破坏面向对象的封装性,这样的好处是在一个有很多属性的Model类里,无需再为每一个属性写一套getters和setters,让代码更简洁。下面看代码的示例。//// Goods.h// 07_Property//// Created by apple on 14-11-12.

2014-11-12 10:03:44 841

原创 Objective-C 用new来创建对象

OC中提供了除了使用alloc分配内存再使用init来初始化的两段构造方法外,另外也提供了像C++和Java中的new的方式来创建对象,new整合了alloc和init的两次调用,简化了代码。//// main.m// 06_New//// Created by apple on 14-11-11.// Copyright (c) 2014年 cc. All rights r

2014-11-11 10:45:16 2613

原创 Objective-C 类属性和方法的访问权限

OC中提供了4种访问权限,@private, @public, @protected这三种和其他的C++, Java是一样的,@package这个访问权限并不是Java里的包访问权限,OC中没有包的概念,这个是框架级的访问权限,在当前的framework的类中视为@protected,在框架以外的类中访问被视为@private。//// Goods.h// 05_Self////

2014-11-11 10:13:54 4636

原创 Objective-C 通过description方法来打印对象

C++中可以直接打印对象指针,打印的就是该指针指向的虚拟内存地址,Java中通过打印对象可以输出对象的虚拟内存地址,OC中同样可以通过打印对象指针来输出对象的虚拟内存地址,也提供了description方法来控制打印的内容,子类重写父类的description方法即可实现任意的打印效果,用法同Java中重写toString()方法几乎完全一样。//// Goods.h// 04_Des

2014-11-09 14:01:09 3470

原创 Objective-C 面向对象基础-构造方法

OC中的类使用的是两段的构造方法,这与通常的C++和Java不同,如果想通过构造的方式传递参数,可以重载一个init方法,下面贴代码。//// Goods.h// 04_Description//// Created by apple on 14-11-9.// Copyright (c) 2014年 cc. All rights reserved.//#import

2014-11-09 13:47:33 872

原创 Objective-C 使用点语法调用getters和setters

OC中可以使用“点语法”来简化对getters和setters的调用,下面看代码。//// Game.h// 03_Getters&&Setters//// Created by apple on 14-11-8.// Copyright (c) 2014年 cc. All rights reserved.//#import /** * 游戏实体类 */@i

2014-11-08 22:35:41 994

原创 Objective-C 面向对象基础-类

面向对象是一种编程思想,无论是在C++, Java还是OC中都是差不多的,实现了一个简单的Model类, OC中和C++类似,类的声明和实现需要显示的分开,声明在.h中,实现部分则在.m中。声明部分:Goods.h//// Goods.h// 02_OOP//// Created by apple on 14-11-8.// Copyright (c) 2014年 cc.

2014-11-08 18:23:48 891

原创 Objective-C 第一个程序HelloWorld

一直在做cocos2d-x开发,对Android比较熟悉,IOS一知半解,最近准备系统的学习一下IOS,先从OC开始吧,有C/C++, Java的基础学OC应该是比较轻松的,博客作为一个学习笔记记录一下吧。第一个程序,HelloWorld,直接上代码。//// main.m// 01_HelloWorld//// Created by apple on 14-11-8.//

2014-11-08 16:41:59 2126

原创 C/C++ Unix中的环境变量environ

Unix中的环境变量environ的作用

2014-11-06 15:29:08 2903

原创 《数据结构、算法与应用》9.(C++实现顺序表)

最近在读《数据结构、算法与应用》这本书,把书上的习题总结一下,用自己的方法来实现了这些题,可能在效率,编码等方面存在着很多的问题,也可能是错误的实现,如果大家在看这本书的时候有更优更好的方法来实现,还请大家多多留言交流多多指正,谢谢偷笑吐舌头9. C++实现的线性表--顺序表

2014-10-17 11:13:03 1302

原创 C/C++ restrict修饰符

restrict是c99标准引入的,它只可以用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式.即它告诉编译器,所有修改该指针所指向内存中内容的操作都必须通过该指针来修改,而不能通过其它途径(其它变量或指针)来修改;这样做的好处是,能帮助编译器进行更好的优化代码,生成更有效率的汇编代码.如 int *restrict ptr, ptr 指向的内存单元只能被 ptr 访问到,任何

2014-09-27 14:15:04 10480 1

原创 C/C++ 使用mmap/munmap函数分配内存

在C/C++ 中常用的内存分配和管理的方式有很多,如智能指针, STL容器, new/delete, malloc/free, brk, sbrk等等,最近研究了一下Unix比较底层的一种内存管理方式mmap/munmap,需要完全自己来维护分配的虚拟内存,没有任何其他辅助的数据结构来帮助维护内存空间。一、在终端里输入 man mmap 可以查看此函数的API文档,此函数的具体描述如下:v

2014-09-27 12:13:56 19963 2

原创 C/C++函数指针参数不匹配问题

函数指针在C/C++中很常用,最近遇到了一非常有趣的问题,函数指针的参数和函数的形参个数不匹配时会遇到的问题,下面看代码。//// main.cpp// FuncPointer//// Created by ChengChao on 14-9-21.// Copyright (c) 2014年 cc. All rights reserved.//#include u

2014-09-21 15:50:16 5615 1

原创 cocos2d-x像素级触摸处理

最近研究了一下像素级的触摸处理,有时候我们用一个不规则的图形作为一个按钮,这个不规则的图形是一张矩形的png图片,很可能图片的实际有效的显示内容只占整个png图片的很小一部分,剩下的大部分都是png图片的透明区域,我们想把这部分透明区域过滤掉,实现一个触摸到真实的内容才会有按钮响应的效果。刚开始试图通过CCSprite直接获取到纹理的像素信息,但是cocos2d-x并没有给我们提供直接通过CC

2014-07-20 16:58:46 6928 6

原创 设计模式在cocos2d-x中的使用--简单工厂模式(Simple Factory)

什么是简单工厂模式?从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。

2014-06-29 15:40:14 2996 3

原创 《数据结构、算法与应用》8.(顺序查找数组中第一个出现指定元素的位置)

最近在读《数据结构、算法与应用》这本书,把书上的习题总结一下,用自己的方法来实现了这些题,可能在效率,编码等方面存在着很多的问题,也可能是错误的实现,如果大家在看这本书的时候有更优更好的方法来实现,还请大家多多留言交流多多指正,谢谢8. 从左至右检查数组a[0:n-1]中的元素,以查找雨x相等的那些元素。如果找到一个元素与x相等,则函数返回x第一次出现所在的位置。如果在数组中没有找到这样的

2014-06-01 14:19:17 2627

原创 《数据结构、算法与应用》7.(动态调整数组大小)

最近在读《数据结构、算法与应用》这本书,把书上的习题总结一下,用自己的方法来实现了这些题,可能在效率,编码等方面存在着很多的问题,也可能是错误的实现,如果大家在看这本书的时候有更优更好的方法来实现,还请大家多多留言交流多多指正,谢谢7. 假定用一维数组a[0 : size-1]来存储一组元素。如果有n个元素,可以把它们存储在a[0],..., a[n-1]中。当n超过si ze时, 数组将不足

2014-04-13 21:31:32 1675

原创 《数据结构、算法与应用》6.(递归查询数组中是否包含某元素).

最近在读《数据结构、算法与应用》这本书,把书上的习题总结一下,用自己的方法来实现了这些题,可能在效率,编码等方面存在着很多的问题,也可能是错误的实现,如果大家在看这本书的时候有更优更好的方法来实现,还请大家多多留言交流多多指正,谢谢 6. 试编写一个递归函数来确定元素 x 是否属于数组 a[0: n-1]。//// main.cpp// Test_06//// Creat

2014-04-13 19:40:41 1787

原创 《数据结构、算法与应用》5.(递归输出n个元素的所有子集)

最近在读《数据结构、算法与应用》这本书,把书上的习题总结一下,用自己的方法来实现了这些题,可能在效率,编码等方面存在着很多的问题,也可能是错误的实现,如果大家在看这本书的时候有更优更好的方法来实现,还请大家多多留言交流多多指正,谢谢 5. 试编写一个递归函数,用来输出n 个元素的所有子集。     例如,三个元素{a, b, c} 的所有子集是: { }(空集),{ a }, { b },

2014-04-13 17:41:18 2625 1

原创 XCode5打包iOS生成ipa

步骤1:选择运行设备,IOS Device步骤2:选择Product ---  Archive开始编译(注意第一步一定要选IOS Device,否则此步Archive为灰色无法操作) 步骤3:一段漫长的编译过程后,进入如下界面,点击Distribute..步骤4:选择第二项:Save for Enterprise or Ad Hoc Deployment

2014-04-05 10:40:03 7133 1

原创 《数据结构、算法与应用》4.(递归和非递归实现斐波那契数列)

最近在读《数据结构、算法与应用》这本书,把书上的习题总结一下,用自己的方法来实现了这些题,可能在效率,编码等方面存在着很多的问题,也可能是错误的实现,如果大家在看这本书的时候有更优更好的方法来实现,还请大家多多留言交流多多指正,谢谢4.  1)试编写一个计算斐波那契数列Fn的递归函数,并上机测试其正确性。  2)试编写一个非递归的函数来计算斐波那契数列Fn,该函数应能直接计

2014-04-03 13:20:13 1962

Cocos2d-x 2.x字体描边效果(Shader实现)

Cocos2d-x 2.X实现的一基于CCLabelTTF + Shader的字体描边效果,具体可以参考这篇博客,http://blog.csdn.net/oktears/article/details/43200757

2015-01-28

cocos2d-x简单工厂模式

一个用cocos2d-x实现的简单工厂模式的demo,博客文章的配套资源代码。

2014-06-29

Xcode注释工具ThisService+Doxygen

Xcode的快速注释工具,可以解决Xcode没法给函数快速加注释的缺陷。最新版本的Doxygen,之前的版本中代码注释会在最前面出现[""] ,此版本已经完美解决了,大家放心下载。附上使用地址链接: http://blog.csdn.net/oktears/article/details/21280347

2014-03-15

cocos2d-android_0100_HelloWorld

博文配代码,学些cocos2d-android引擎,请访问http://blog.csdn.net/oktears

2013-08-27

Cocos2d-Android游戏引擎

cocos2d-android游戏引擎,完全采用java语言编写,是cocos2d-iphone的移植版本,基本可以实现与cocos2d-iphone与cocos2d-x的所有功能,适合拥有java基础和android开发经验的人学习。

2013-08-27

Servlet登录验证码

提供了servlet登陆时用验证码进行验证的方法,复制直接可用!

2012-08-30

JAVA中获取当前时间

java中获取当前系统时间的方法,是每一个程序员必须掌握的方法!

2012-08-30

空空如也

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

TA关注的人

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