- 博客(108)
- 资源 (1)
- 收藏
- 关注
原创 【cocos2d-x 3D游戏开发】3: 游戏帧循环
前言高实时性是游戏区别于传统软件、应用的一个重要特征,游戏里通常有一个比较高频率的循环在处理用户输入、物理逻辑更新、业务逻辑更新以及图形渲染等工作, 以保证这种实时性的要求。我们把每一次循环叫做一帧,把每秒钟游戏更新的帧数称作“帧率(Frame Per Second)”, 也就是常说的FPS。电影的帧率通常是24FPS,cocos2d-x默认的帧率是60FPS, VR游戏中对帧率的要求则更高,通常至
2015-12-14 09:07:13 8862
原创 【cocos2d-x 3D游戏开发】2: 2D基础回顾---理解CCMenu类的实现, 实现点击放大的菜单按钮
本文介绍了CCMenu类的实现原理,并在CCMenu的基础上稍加改造,实现了一个点击自动缩放的菜单类。
2015-12-10 23:45:25 8197
原创 【cocos2d-x 3D游戏开发】0: 3D时代到来,学cocos3D还是Unity3D?
作为一名cocos2d-x开发者,开发2D游戏已经有两年多了,这两年来目睹了手游市场的浮躁, cocos引擎的出现降低了手游开发的门槛,提高了手游生产效率,这两年着实是火的不行。然而,手游发展速度神速,眨眼间3D手游几乎以铺天盖地之势袭来。cocos的一个“劲敌”unity卷土而来,几乎霸占了整个3D市场,很多开发者都欣然奔向了unity的怀抱。cocos2d-x也从3.3版本之后开始猛加3D功能,如今3D功能也是比
2015-12-09 08:05:16 7766 2
原创 【cocos2d-x 3D游戏开发】1: 2D基础回顾---触摸事件(2.x)
前言本文回顾了cocos2d-x中触摸事件的使用方法和注意事项,并给出一个带有点 击缩放功能的自定义菜单类的实现。
2015-12-02 07:43:20 10032
原创 cocos2d-x: 常用组件默认参数
本文总结了cocos2d-x常用渲染类的默认属性和它们之间的继承关系,并对比了2.x和3.x在相关方面之间的一些差别。
2015-11-25 07:29:59 7996
原创 rapidjson使用总结
rapidjson是腾讯的开源json解析框架,用c++实现。由于全部代码仅用header file实现,所以很容易集成到项目中。rapidjson的性能是很出色的,其作者[Milo Yipz](https://github.com/miloyip)做了28个C/C++ JSON库的评测,[这个链接](http://www.zhihu.com/question/23654513)里有测试的结果截图。
2015-11-18 16:13:35 51160 4
原创 Effective C++ 笔记
这篇文章取自我的github博客,欢迎访问原文地址(Small Flows-http://elloop.github.io)[http://elloop.github.io]item2: Prefer consts, enums, and inlines to #defines.reasondefine会造成代码膨胀,目标代码里替换所有define为同一个东西,重复。define通常没有scop
2015-11-18 15:45:23 7576
原创 Protocol Buffers Lua API总结
本文介绍的关于protocol buffer的api是基于protoc-gen-lua(see in github)这个项目的。我的使用经验都是在开发Cocosd-x游戏的时候,lua脚本与服务器通信采用了protocol buffer,协议编译工具正是protoc-gen-lua这个插件。插件的安装过程该项目的ReadMe已经描述的很清楚,这里主要总结一下实际使用中需要注意的问题,和编译生成的pb
2015-05-22 14:02:13 14255 1
原创 Lessons learned from c/c++ defects
{{ page.title }}Basic1. n << 1 + 1 == 4*n , not 2*n + 12. what will happen?#define perimeter(x, y) 2*x + 2*yvolume = perimeter(x, y) * highcorrect: #define perimeter(x, y) (2*(x) + 2*(y))3. 滥用宏,污染其他文件
2015-05-22 09:58:24 757
原创 Ubuntu使用问题集及解决方案(不定期更新)
1. could not apply the stored configuration for monitors (win8.1使用vmware启动Ubuntu,原来是横屏的,当把显示器竖过来使用的时候,启动Ubuntu报了这个错)解决:sudo rm -f ~/.config/monitors.xml & 重启
2014-03-21 18:46:58 10078 1
原创 Lisp练习-打印月历
;;;; print 12 months accroding index in a week;; if year is leap year?(defun is-leap-year (year) (or (and (= 0 (mod year 4)) (/= 0 (mod year 100))) (= 0 (mod year 400))));; retu
2013-06-04 18:58:55 4837
原创 iphone-1
一、iphone页面传递数据的五种方法:1. 写文件2. plist3. SQLite4. 协议和代理5. 传指针二、备份变量名、self.1.{ ... _window; }@property (...) ... window;这样保证不会直接写 window = ...,而必须写成 self.window. 也就是说,会提醒你加上self以调用s
2012-08-25 10:11:10 435
原创 自增操作符重载
对于内置类型:int i(1);++i; ++(++i);i 的值依次被修改为2,4;i++; // i=5(i++)++; // 非法由此可以看出,++i 返回 i 的引用,可以修改. 而 i++ 返回的是右值,不能修改.由此就不难理解,为什么类的前自增操作符要返回引用,而后置操作符返回值.class Op{public: Op& operator ++();
2012-07-24 10:56:27 5048
转载 linux下配置vim
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/本文环境:ubuntu 10.10/vim7.2前言:一年前写过一篇关于VIM的C/C++编程环境的文字,一年中又接触了很多东西,深入使用中发现其实还是需要有很多改正和增强的,当然,VIM社区中也出现了更多好用插件需要整合进来。为了更好的总结整个环境配置方法以及使用方法,特写此文从零
2012-07-19 10:38:53 1231
原创 2012-07-18-关于指针
一、数组指针与数组指针变量int a[] = {1, 2, 3, 4};int *p = a;那么 a 是数组指针,p 是数组指针变量. a 不能变,p 可变.访问数组元素的三种方法:1. p = a; *p; ++p;2. i=0; *(p+i); ++i;3. p[i++];引用一维数组元素的四种方法:a[i], p[i], *(a+i), *(p+i).二
2012-07-18 21:34:47 410
原创 【C++ STL应用与实现】56: 使用std::unique删除重复元素
核心是应用中的unique函数, 它能删除连续序列的副本(Remove consecutive duplicates in range).原型如下:template ForwardIterator unique ( ForwardIterator first, ForwardIterator last );template ForwardIterator uniqu
2012-06-26 22:59:14 12346
原创 八皇后
对皇后问题给出一种解决方案. 算法是《算法分析与设计分析》教材上的. 要列举所有方案,还需自己改进!package data_structure;public class EightQueens { private static final int NumberOfQueen = 8; private static int [] queens = new int[NumberOfQ
2012-06-12 09:50:28 504
原创 Lisp学习笔记1——打印素数
(defun print-prime-number (&key (begin 2) (end 100)) (format t "prime number between ~d and ~d: " begin end) (format t "~{~d~t~}" (loop for i from begin to end when (loop for j from 2
2012-06-12 01:08:18 1275
原创 pInvokeStackImbalance 调试异常的解决办法。
当用c#调用c++ 写好的dll时,调试过程中出现:pInvokeStackImbalance函数调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。code:c++ dll(my-dll):extern "C" __declspec (dllexport)void MyDLLFunc(char * f, int n);c# 调用:
2012-06-07 12:00:11 13816 1
原创 c#全排列(不包括重复)
class Program { static void Main ( string[] args ) { ArrayList intList = new ArrayList (); int aryLen = 6; for ( int i = 1; i <= aryLen; ++i ) intList.Add ( i ); Perm.perm
2012-05-31 14:57:39 1205
原创 一些笔试题总结
char ary1[] = "hello";char ary2[] = "hello";char *cp1 = "hello";char *cp2 = "hello";cout << boolalpha << (ary1 == ary2) << endl;cout << boolalpha << (cp1 == cp2) << endl;falsetrue
2012-04-21 21:34:30 520
原创 4-10 c++面试题--覆盖还是重载?
class Base {public: void f(float x) { cout << "Base::f() " << x << endl; }};class Derived: public Base {public: void f(int x) { cout << "Derived::f(int) " << x << endl; }};int
2012-04-13 19:24:46 529
原创 数据结构(c语言版)1000个问题与解答-数组
1. 利用指针遍历二维数组: int ary[3][3] = {{11, 12, 13}, {21, 22, 23}, {31, 32, 33}}; for (int i=0; i<3; ++i) { for (int j=0; j<3; ++j) { std::cout << std::
2012-03-17 09:32:09 1079
Cool Reader 3-1-0 - lib(so)文件压缩包
2013-07-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人