Posts

【C++ STL应用与实现】22: 函数组合之1:如何使用std::bind (since C++11)

15 Dec 2015

本系列文章的目录在这里:目录. 通过目录里可以对STL总体有个大概了解 ##前言 std::bind是STL实现函数组合概念的重要手段,本文总结了std::bind这个模板函数的用法,给出了std::bind绑定普通函数(函数指针)、lambda表达式、成员函数、成员变量、模板函数、嵌套std::bind等的语法细节及注意的问题。 文中涉及到的术语:

  • std::placeholders : 占位符,被占位符绑定的参数,在实际调用中被实际参数代替。
  • std::decay : 退化类型
  • std::forward : 转发
  • Callable : 可调用对象
  • lambda : functors的语法糖,定义一个函数(对象), 当做函数来使用
  • trailing return types : 用于在声明(定义)函数时,函数返回值依赖于其参数的类型;或者是函数返回类型描述比较复杂时,用来简化类型书写
  • [reference_wrapper](http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper) : 引用包装类模板,用于把一个应用封装成一个对象,以便于在容器里,或者传递引用。
...

阅读全文 ...


【cocos2d-x 3D游戏开发】3: 游戏帧循环

12 Dec 2015

前言

高实时性是游戏区别于传统软件、应用的一个重要特征,游戏里通常有一个比较高频率的循环在处理用户输入、物理逻辑更新、业务逻辑更新以及图形渲染等工作, 以保证这种实时性的要求。我们把每一次循环叫做一帧,把每秒钟游戏更新的帧数称作“帧率(Frame Per Second)”, 也就是常说的FPS。电影的帧率通常是24FPS,cocos2d-x默认的帧率是60FPS, VR游戏中对帧率的要求则更高,通常至少要达到70~80FPS. cocos在默认情况下,每秒会进行60次游戏循环。本文将对cocos2d-x引擎中每一帧里面做了哪些事情进行介绍,总结每一帧中的几个关键操作,及它们在时间上的先后顺序。以win32环境为例,讲解一个游戏的主循环的控制流程。 ...

阅读全文 ...


【cocos2d-x 3D游戏开发】2: 2D基础回顾---理解CCMenu类的实现, 实现点击放大的菜单按钮

10 Dec 2015

前言

本文介绍了CCMenu类的实现原理,并在CCMenu的基础上稍加改造,实现了一个点击自动缩放的菜单类。 ...

阅读全文 ...


【C++ STL应用与实现】1: STL概览和分类

10 Dec 2015

本系列文章的目录在这里:目录. 通过目录里可以对STL总体有个大概了解 #前言 本文从整体上对STL的内容和功能做了一个概览,并根据其组成部分功能的不同对STL的组件进行分类。 在后续的文章中会对每个分类中的组件进行展开说明。 ...

阅读全文 ...


【cocos2d-x 3D游戏开发】0: 3D时代到来,学cocos3D还是Unity3D?

09 Dec 2015

前言

作为一名cocos2d-x开发者,开发2D游戏已经有两年多了,这两年来目睹了手游市场的浮躁, cocos引擎的出现降低了手游开发的门槛,提高了手游生产效率,这两年着实是火的不行。然而,手游发展速度神速,眨眼间3D手游几乎以铺天盖地之势袭来。cocos的一个“劲敌”unity卷土而来,几乎霸占了整个3D市场,很多开发者都欣然奔向了unity的怀抱。cocos2d-x也从3.3版本之后开始猛加3D功能,如今3D功能也是比较完善了,市场上也出现了cocos3D开发的产品。身为一个cocos2d开发者的我该如何选择? ...

阅读全文 ...