Posts

掌握Cocos2d-x (2) 内存管理

11 Dec 2013

#AutoReleasePool ##concepts

  • PoolManager singleton, holds a stack of AutoReleasePool*.
    • push(): push a new AutoReleasePool into top.
    • pop(): pop a AutoReleasePool, clear the pool. (when stack’s size > 1), called every frame in CCDisplayLinkDirector::mainLoop().
  • AutoReleasePool holds an array of CCObject(Ref)*, clear() will release each obj.
...

阅读全文 ...


掌握Cocos2d-x--1.基本概念

01 Dec 2013

渲染

  • OpenGL ES 2.0
##coordinate
  • 第一种划分方式
    • OpenGL坐标系 cocos2d-x使用的是OpenGL坐标系,跟数学里的数轴x,y方向一致。
    • 屏幕坐标系 x轴向右,y轴向下。注意:触摸时间Touch传入的位置信息使用的是屏幕坐标,cocos会把触摸点坐标转换为OpenGL坐标。
    • 转换
      • convertToUI(): GL -> UI屏幕
      • convertToGL(): UI屏幕 -> GL
      • Touch:
        • getLocation() : 获得GL坐标
        • getLocatinInView(): 获得UI坐标
...

阅读全文 ...


Cocos2d-x 常见问题及解决方案

25 Nov 2013

总论


Q1: cocos开发中,需要考虑哪些方面的问题? A1:
  • 资源预加载,时机

界面渲染


1: removeAllChildren()和removeAllChildrenWithCleanup(bool)有何区别? A: removeAllChildren() == removeAllChildrenWithCleanup(true). 2. 帧循环过程及同步、异步调用何时何地发生 比如,我对一个子节点调用一个函数f(), 在f内,让子节点runAction(ScaleTo(0.1, 1.2)), 紧接着在调用f()下面的代码里设置子节点的缩放到1.5, 那么最后的缩放会是多大?1.2 还是1.5, runAction的动作执行一定是在f()调用发生后那段代码之后执行吗?它是在下一帧才开始执行scaleto动作吗? A:

事件


1. 为什么setTouchMode被deprecated? 谁来取代他?

3.x deprecated components


CCFileUtils

LabelTTF, LabelBMFont …

CCPoint –> Point(Vec2), CCSize –> Size

ccTouchBegan …

scheduleUpdateForTarget …

CCMenuItemImage::create(… target, callback) –> ccMenuCallback

...

阅读全文 ...


Windows Programming Accumulation

19 Oct 2013

Unicode in windows

_T and __T

#ifdef UNICODE
#define __T(x)      L ## x
#else
#define __T(x)      x
#endif

#define _T(x) __T(x)

how to define UNICODE in VS.

In Project setting -> common -> character set : Unicdoe or Mutibytes. ...

阅读全文 ...


关于sizeof

28 Sep 2013

基本概念

sizeof 是一个语言内置的操作符,返回一个对象或者类型所占的字节数,返回值类型是size_t, 该类型在中定义
  • sizeof 对象 : 对象可以是变量、数组或者是用户自定义类型的对象。
  • sizeof (类型): 类型可以是基本类型、也可以是自定义类型。
...

阅读全文 ...