本文来自http://blog.csdn.net/runaying ,引用必须注明出处!
cocos2d-x节点(ccConfig.h)API
温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记
//一些配置项可以很方便的调试
///cocos2d-x-3.0alpha0/cocos2dx/include
//一些配置项可以很方便的调试
#ifndef __CCCONFIG_H__
#define __CCCONFIG_H__
#include "platform/CCPlatformConfig.h"
/**
@file
cocos2d (cc) configuration file
*/
/** @def CC_ENABLE_STACKABLE_ACTIONS
如果启用修改的位置属性会叠加 (eg: MoveBy, JumpBy, BezierBy, etc..).
如果你同时在一个 node 上同时运行了两个或多个 'position' actions ,那么最终的位置将是所有的位置的综合.
如果禁用,则只有最后一个 run action 生效.
默认情况下启用. Disable to be compatible(兼容) with v2.0 and older versions.
@since v2.1
*/
#ifndef CC_ENABLE_STACKABLE_ACTIONS
#define CC_ENABLE_STACKABLE_ACTIONS 1
#endif
/** @def CC_ENABLE_GL_STATE_CACHE
如果启用,将在内部保持cocos2d的OpenGL状态缓存,以避免不必要的开关。
为了使用他们,你必须使用下面的功能,而不是GL的功能:
- ccGLUseProgram() instead of glUseProgram()
- GL::deleteProgram() instead of glDeleteProgram()
- GL::blendFunc() instead of glBlendFunc()
如果禁用此功能, then ccGLUseProgram(), GL::deleteProgram(), GL::blendFunc() will call the GL ones, without using the cache.
为了尽可能的提升运行速度,建议启用它.
如果你的代码是从 GL ES1.1 上迁移过来的,那么你可以禁用它,一旦你的代码如预期的运行,再打开它.
Default value: Enabled by default
@since v2.0.0
*/
#ifndef CC_ENABLE_GL_STATE_CACHE
#define CC_ENABLE_GL_STATE_CACHE 1
#endif
/** @def CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL
如果启用,texture 的坐标将使用这个公式计算
- texCoord.left = (rect.origin.x*2+1) / (texture.wide*2);
- texCoord.right = texCoord.left + (rect.size.width*2-2)/(texture.wide*2);
相同的顶部和底部。
这个公式可以防止 artifact(器物)使用 99% 的 texture ,正确的方式是防止 artifact(器物)使用 spritesheet-artifact-fixer.py 或者类似的工具.
受影响的节点:
- Sprite / SpriteBatchNode and subclasses: LabelBMFont, TMXTiledMap
- LabelAtlas
- QuadParticleSystem
- TileMap
To enabled set it to 1. Disabled by default.
@since v0.99.5
*/
#ifndef CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL
#define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 0
#endif
/** @def CC_DIRECTOR_FPS_INTERVAL
Seconds(秒) between FPS updates.
0.5 seconds, 意味着每 0.5 秒 FPS 数字都会被更新.
更大的数字,意味着一个更可靠的FPS
Default value: 0.1f
*/
#ifndef CC_DIRECTOR_STATS_INTERVAL
#define CC_DIRECTOR_STATS_INTERVAL (0.1f)
#endif
/** @def CC_DIRECTOR_FPS_POSITION
Position of the FPS
Default: 0,0 (bottom-left corner)
*/
#ifndef CC_DIRECTOR_FPS_POSITION
#define CC_DIRECTOR_FPS_POSITION Point(0,0)
#endif
/** @def CC_DIRECTOR_DISPATCH_FAST_EVENTS
如果启用, 只有当它与 FastDirector 一起使用时,主循环将等待 0.04 秒,然后再 dispatch(派遣)所有的事件,即使没有 dispatch(派遣)的事件,它还是会等待 0.04 秒
如果你的游戏使用很多的事件(例如:触摸)启用此功能,可能是一个好主意,Otherwise 禁用它也是安全的
To enable set it to 1. Disabled by default.
@warning This feature is experimental
*/
#ifndef CC_DIRECTOR_DISPATCH_FAST_EVENTS
#define CC_DIRECTOR_DISPATCH_FAST_EVENTS 0
#endif
/** @def CC_DIRECTOR_MAC_USE_DISPLAY_LINK_THREAD
如果启用, cocos2d-mac 将在显示链接线程上运行. 如果禁用 cocos2d-mac 将在自己的线程中运行.
如果启用,图像将在正确的时间被绘制,但事件可能不是非常敏感
如果禁用, 可能会跳过一些帧,但当他们到达时,事件将会被 dispatched(派遣)
To enable set it to a 1, to disable it set to 0. Enabled by default.
只支持 cocos2d-mac. 不支持 cocos2d-ios.
*/
#ifndef CC_DIRECTOR_MAC_USE_DISPLAY_LINK_THREAD
#define CC_DIRECTOR_MAC_USE_DISPLAY_LINK_THREAD 1
#endif
/** @def CC_NODE_RENDER_SUBPIXEL
如果启用, Node对象 (Sprite, Label,etc) 将能够在 subpixels(子像素) 上渲染.
如果禁用,将使用整数像素
To enable set it to 1. Enabled by default.
*/
#ifndef CC_NODE_RENDER_SUBPIXEL
#define CC_NODE_RENDER_SUBPIXEL 1
#endif
/** @def CC_SPRITEBATCHNODE_RENDER_SUBPIXEL
如果启用, Sprite 对象将使用 SpriteBatchNode 在 subpixels(子像素) 上渲染.
如果禁用, integer pixels will be used.
To enable set it to 1. Enabled by default.
*/
#ifndef CC_SPRITEBATCHNODE_RENDER_SUBPIXEL
#define CC_SPRITEBATCHNODE_RENDER_SUBPIXEL 1
#endif
/** @def CC_TEXTURE_ATLAS_USE_TRIANGLE_STRIP
渲染 texture atlas(图集) 时,使用 GL_TRIANGLE_STRIP 代替 GL_TRIANGLES
它似乎是推荐的方法,但是使用它慢得多,所以启用它,你要自己承担风险
启用它,可以把它的值设为不同于 0,Disabled by default.
*/
#ifndef CC_TEXTURE_ATLAS_USE_TRIANGLE_STRIP
#define CC_TEXTURE_ATLAS_USE_TRIANGLE_STRIP 0
#endif
/** @def CC_TEXTURE_ATLAS_USE_VAO
默认情况下,TextureAtlas(许多的cocos2d类)将使用VAO(Vertex(顶点) Array Objects).
苹果公司建议使用它们,但他们可能会消耗大量的内存,特别是当你大量使用它们时。
因此,某些情况下,你可能需要数百VAO对象,这个时候禁用他可能是一个好主意
To disable it set it to 0. Enabled by default.
*/
#ifndef CC_TEXTURE_ATLAS_USE_VAO
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) || (CC_TARGET_PLATFORM == CC_PLATFORM_MAC)
#define CC_TEXTURE_ATLAS_USE_VAO 1
#else
/* 某些Windows的显示适配器驱动不能支持 VOA(Vertex(顶点) Array Objects) */
/*一些Android设备不能很好的支持 VOA(Vertex(顶点) Array Objects), 所以在android 平台上他默认是被禁用的s. */
/* Blackberry(黑莓)也不支持这个功能. */
#define CC_TEXTURE_ATLAS_USE_VAO 0
#endif
#endif
/** @def CC_USE_LA88_LABELS
如果启用,LabelTTF 对象会使用LA88 (Luminance(亮度) Alpha 16-bit textures).
如果禁用他,LabelTTF 对象会使用 A8 (Alpha 8-bit textures).
LA88 textures 比 A8 textures 快 6%, 但他们会消耗2倍的内存.
This feature is enabled by default.
@since v0.99.5
*/
#ifndef CC_USE_LA88_LABELS
#define CC_USE_LA88_LABELS 1
#endif
/** @def CC_SPRITE_DEBUG_DRAW
如果启用, Sprite 的所有子类都将绘制边界框
仅在调试的时候他是非常有用的,建议禁用它
启用它,可以把它的值设为不同于 0. Disabled by default:
0 -- disabled
1 -- draw bounding box
2 -- draw texture box
0 -- disabled
1 -- draw bounding box
2 -- draw texture box
*/
#ifndef CC_SPRITE_DEBUG_DRAW
#define CC_SPRITE_DEBUG_DRAW 0
#endif
/** @def CC_SPRITEBATCHNODE_DEBUG_DRAW
如果启用, 使用 SpriteBatchNode 渲染的所有 aprite 都会d绘制边界框
仅在调试的时候他是非常有用的,建议禁用它
启用它,可以把它的值设为不同于 0. Disabled by default.
*/
#ifndef CC_SPRITEBATCHNODE_DEBUG_DRAW
#define CC_SPRITEBATCHNODE_DEBUG_DRAW 0
#endif
/** @def CC_LABELBMFONT_DEBUG_DRAW
如果启用, LabelBMFont 的所有子类都将绘制边界框
仅在调试的时候他是非常有用的,建议禁用它
启用它,可以把它的值设为不同于 0. Disabled by default.
*/
#ifndef CC_LABELBMFONT_DEBUG_DRAW
#define CC_LABELBMFONT_DEBUG_DRAW 0
#endif
/** @def CC_LABELATLAS_DEBUG_DRAW
如果启用, LabeltAtlas 的所有子类都将绘制边界框
仅在调试的时候他是非常有用的,建议禁用它
启用它,可以把它的值设为不同于 0. Disabled by default.
*/
#ifndef CC_LABELATLAS_DEBUG_DRAW
#define CC_LABELATLAS_DEBUG_DRAW 0
#endif
/** @def CC_ENABLE_PROFILERS
如果启用, 将激活 cocos2d 的各种分析器,统计数据将被输出到控制台
需要执行的具体 routine(s),平均每秒显示一次(以毫秒为单位. //例程
仅在调试的时候他是非常有用的,建议禁用它
启用它,可以把它的值设为不同于 0. Disabled by default.
*/
#ifndef CC_ENABLE_PROFILERS
#define CC_ENABLE_PROFILERS 0
#endif
/** Enable Lua engine debug log */
#ifndef CC_LUA_ENGINE_DEBUG
#define CC_LUA_ENGINE_DEBUG 0
#endif
#endif // __CCCONFIG_H__