cocos2d-x 源码分析四:Scheduler
在Node类里面耦合了一个Scheduler类的对象,我们猜测Scheduler是时间调度器,下面我们剖析Cocos2d-x的调度器 Scheduler 类的源码,从源码中去了解它的实现与应用方法。
在Node类里面耦合了一个Scheduler类的对象,我们猜测Scheduler是时间调度器,下面我们剖析Cocos2d-x的调度器 Scheduler 类的源码,从源码中去了解它的实现与应用方法。
工作需要开发一个简单的2D图形引擎,目前最火的就属cocos2d-x引擎了,开源、跨平台、社区丰富。虽然是游戏引擎,但想来应该有很多可以学习借鉴的地方。所以打算通过源码分析学习一下这个优秀的引擎架构。
作为从应用层面开始接触C/C++的开发者,对这个语言的一些特性和关键字使用很少,在这里记录备忘
一个OpenGL程序可以用多种方式和shader通信。注意这种通信是单向的,因为shader的输出只能是渲染到某些目标,比如颜色和深度缓存。
OpenGL的部分状态可以被shader访问,因此程序改变OpenGL某些状态就可以与shader进行通信了。例如一个程序想把光的颜色传给shader,可以直接调用OpenGL接口,就像使用固定功能流水线时做的那样。
不过,使用OpenGL状态并不是设置shader中使用数据的直观方式。比如一个shader需要一个表示时间变化的变量来计算动画,在OpenGL状态中就没有现成的变量可用。当然,你可以使用没有用到的“镜面光截止角度(cutoffangle)”这样一个变量表示时间,但显然让人难以接受。 幸运的是,GLSL允许用户自定义变量,实现OpenGL应用程序与shader通信。有了这个功能,你就可以命名一个叫做timeElapsed的变量表示经过的时间。
AWK之所以叫AWK是因为其取了三位创始人Alfred Aho, Peter Weinberger, 和Brian Kernighan三人名字的首字符。AWK有一本相当经典的书《The AWK Programming Language》
sed全名叫stream editor,流编辑器,用程序的方式来编辑文本,相当的hacker啊。sed基本上就是玩正则模式匹配,所以,玩sed的人,正则表达式一般都比较强。
每次更换系统或者更换电脑的时候,都免不了花时间去折腾开发环境的问题。我深知这个过程的繁琐和浪费时间,但有时候仍然乐此不疲,或许是强迫症作祟。所以真的有必要在这里整理一下。欢迎补充修正。
Python中类的概念借鉴于Smalltalk,Python中的所有东西都是对象。所以,类同样也是对象,这个对象(类)拥有创建对象(类实例)的能力。伯乐在线上一篇翻译文章深刻理解Python中的元类(metaclass)讲得很详细,这里学习记录一下。