cocos2d 字体颜色

#ifndef __CCTYPES_H__

#define __CCTYPES_H__


#include <string>

#include "cocoa/CCGeometry.h"

#include "CCGL.h"

NS_CC_BEGIN

/** RGB color composed(组成) of bytes 3 bytes

@since v0.8

*/

typedef struct _ccColor3B

{

GLubyte r;

/////

typedef unsigned char GLubyte;

////////

GLubyte g;

GLubyte b;

} ccColor3B;

//! helper macro(宏) that creates an ccColor3B type //ccc3用于创建一个ccColor3B type的宏

static inline ccColor3B

ccc3(const GLubyte r,const GLubyte g,const GLubyte b)

ccColor3B c = {r,g,b};

return c;

}

/** returns true if both ccColor3B are equal. Otherwise it returns false.

static inline bool ccc3BEqual(const ccColor3B &col1,const ccColor3B &col2) //判断两个cccolor3b是否相同

return col1.r == col2.r && col1.g == col2.g && col1.b == col2.b;

//ccColor3B predefined(预先定义的) colors

//! White color (255,255)

static const ccColor3B ccWHITE={255,255};

//! Yellow color (255,0)

static const ccColor3B ccYELLOW={255,0};

//! Blue color (0,255);margin-top:0px;margin-bottom:0px;font-size:11px;font-family:Menlo;">static const ccColor3B ccBLUE={0,255);margin-top:0px;margin-bottom:0px;font-size:11px;font-family:Menlo;">//! Green Color (0,255);margin-top:0px;margin-bottom:0px;font-size:11px;font-family:Menlo;">static const ccColor3B ccGREEN={0,255);margin-top:0px;margin-bottom:0px;font-size:11px;font-family:Menlo;">//! Red Color (255,)

static const ccColor3B ccRED={255,255);margin-top:0px;margin-bottom:0px;font-size:11px;font-family:Menlo;">//! Magenta Color (255,255);margin-top:0px;margin-bottom:0px;font-size:11px;font-family:Menlo;">static const ccColor3B ccMAGENTA={255,255);margin-top:0px;margin-bottom:0px;font-size:11px;font-family:Menlo;">//! Black Color (0,255);margin-top:0px;margin-bottom:0px;font-size:11px;font-family:Menlo;">static const ccColor3B ccBLACK={0,255);margin-top:0px;margin-bottom:0px;font-size:11px;font-family:Menlo;">//! Orange Color (255,127,255);margin-top:0px;margin-bottom:0px;font-size:11px;font-family:Menlo;">static const ccColor3B ccORANGE={255,255);margin-top:0px;margin-bottom:0px;font-size:11px;font-family:Menlo;">//! Gray Color (166,166,166)

static const ccColor3B ccGRAY={166,166};

/** RGBA color composed(组成) of 4 bytes

typedef struct _ccColor4B

GLubyte a;

} ccColor4B;

//! helper macro that creates an ccColor4B type //ccc4用于创建一个ccColor3B type的宏

static inline ccColor4B

ccc4(const GLubyte r,const GLubyte b,const GLubyte o)

ccColor4B c = {r,b,o};

/** RGBA color composed of 4 floats

typedef struct _ccColor4F {

GLfloat r;

GLfloat g;

GLfloat b;

GLfloat a;

} ccColor4F;

/** Returns a ccColor4F from a ccColor3B. Alpha will be 1.

@since v0.99.1

static inline ccColor4F ccc4FFromccc3B(ccColor3B c)

ccColor4F c4 = {c.r/255.f,c.g/255.f,c.b/255.f,1.f};

return c4;

//! helper that creates a ccColor4f type

static inline ccColor4F

ccc4f(const GLfloat r,const GLfloat g,const GLfloat b,const GLfloat a)

ccColor4F c4 = {r,a};

/** Returns a ccColor4F from a ccColor4B.

static inline ccColor4F ccc4FFromccc4B(ccColor4B c)

static inline ccColor4B ccc4BFromccc4F(ccColor4F c)

ccColor4B ret = {(GLubyte)(c.r*255),(GLubyte)(c.g*255),(GLubyte)(c.b*255),(GLubyte)(c.a*255)};

return ret;

/** returns YES if both ccColor4F are equal. Otherwise it returns NO.

static inline bool ccc4FEqual(ccColor4F a,ccColor4F b)

return a.r == b.r && a.g == b.g && a.b == b.b && a.a == b.a;

/** A vertex composed of 2 floats: x,y

typedef struct _ccVertex2F //向量

GLfloat x;

GLfloat y;

} ccVertex2F;

static inline ccVertex2F vertex2(const float x,const float y)//vertex2 创建向量

ccVertex2F c = {x,y};

typedef struct _ccVertex3F//三维向量

GLfloat z;

} ccVertex3F;

static inline ccVertex3F vertex3(const float x,const float y,const float z)//vertex3创建三维向量

ccVertex3F c = {x,y,z};

/** A texcoord composed of 2 floats: u,255);margin-top:0px;margin-bottom:0px;font-size:11px;font-family:Menlo;">typedef struct _ccTex2F { //纹理坐标

GLfloat u;

GLfloat v;

} ccTex2F;

static inline ccTex2F tex2(const float u,const float v)//tex2 创建纹理坐标

ccTex2F t = {u,v};

return t;

//! Point Sprite component

typedef struct_ccPointSprite

ccVertex2F pos; // 8 bytes

ccColor4B color; // 4 bytes

GLfloat size; // 4 bytes

} ccPointSprite;

//! A 2D Quad. 4 * 2 floats //图块 4个顶点(ccVertex2F)组成

typedef struct _ccQuad2 {

ccVertex2F tl;

ccVertex2F tr;

ccVertex2F bl;

ccVertex2F br;

} ccQuad2;

//! A 3D Quad. 4 * 3 floats

typedef struct _ccQuad3 { //3d图块4个顶点(ccVertex3F)组成

ccVertex3F bl;

ccVertex3F br;

ccVertex3F tl;

ccVertex3F tr;

} ccQuad3;

//! a Point with a vertex point,a tex coord point and a color 4B

_ccV2F_C4B_T2F //采用2维向量 4b颜色 的ccpoint

//! vertices (2F)

ccVertex2F vertices;

//! colors (4B)

ccColor4B colors;

//! tex coords (2F)

ccTex2F texCoords;

} ccV2F_C4B_T2F;

_ccV2F_C4F_T2F //采用2维向量 4f颜色 的ccpoint

//! colors (4F)

ccColor4F colors;

} ccV2F_C4F_T2F;

_ccV3F_C4B_T2F//采用3维向量 4b颜色 的ccpoint

//! vertices (3F)

ccVertex3F vertices; // 12 bytes

// char __padding__[4];

ccColor4B colors; // 4 bytes

// char __padding2__[4];

// tex coords (2F)

ccTex2F texCoords; // 8 bytes

} ccV3F_C4B_T2F;

//! A Triangle(三角形) of ccV2F_C4B_T2F

typedef struct _ccV2F_C4B_T2F_Triangle //采用ccV2F_C4B_T2F的三角形

//! Point A

ccV2F_C4B_T2F a;

//! Point B

ccV2F_C4B_T2F b;

ccV2F_C4B_T2F c;

} ccV2F_C4B_T2F_Triangle;

//! A Quad of ccV2F_C4B_T2F

typedef struct _ccV2F_C4B_T2F_Quad //采用ccV2F_C4B_T2F的图块

//! bottom left

ccV2F_C4B_T2F bl;

//! bottom right

ccV2F_C4B_T2F br;

//! top left

ccV2F_C4B_T2F tl;

//! top right

ccV2F_C4B_T2F tr;

} ccV2F_C4B_T2F_Quad;

//! 4 ccVertex3FTex2FColor4B

typedef struct _ccV3F_C4B_T2F_Quad //采用ccV3F_C4B_T2F的图块

ccV3F_C4B_T2F tl;

ccV3F_C4B_T2F bl;

ccV3F_C4B_T2F tr;

ccV3F_C4B_T2F br;

} ccV3F_C4B_T2F_Quad;

//! 4 ccVertex2FTex2FColor4F Quad

typedef struct _ccV2F_C4F_T2F_Quad //采用ccV2F_C4F_T2F的图块

ccV2F_C4F_T2F bl;

ccV2F_C4F_T2F br;

ccV2F_C4F_T2F tl;

ccV2F_C4F_T2F tr;

} ccV2F_C4F_T2F_Quad;

//! Blend(混合) Function used for textures

typedef struct _ccBlendFunc //用于纹理的混合函数

//! source blend function

GLenum src; //资源函数

///////

typedef unsigned int GLenum;

//////

//! destination blend function

GLenum dst; //目标函数

}ccBlendFunc;

static constccBlendFunckCCBlendFuncDisable = {GL_ONE,GL_ZERO};

//

#define GL_ONE 1

#define GL_ZERO 0


///// XXX: If any of these enums(枚举) are edited(编辑的) and/or reordered(再订购;重新整理),update CCTexture2D.m

//! Vertical(垂直的) text(文本) alignment(队列) type

typedef enum

kCCVerticalTextAlignmentTop,

kCCVerticalTextAlignmentCenter,255);margin-top:0px;margin-bottom:0px;font-size:11px;font-family:Menlo;"> kCCVerticalTextAlignmentBottom,255);margin-top:0px;margin-bottom:0px;font-size:11px;font-family:Menlo;">} CCVerticalTextAlignment;

// XXX: If any of these enums are edited and/or reordered,255);margin-top:0px;margin-bottom:0px;font-size:11px;font-family:Menlo;">//! Horizontal(水平的) text alignment type

kCCTextAlignmentLeft,255);margin-top:0px;margin-bottom:0px;font-size:11px;font-family:Menlo;"> kCCTextAlignmentCenter,255);margin-top:0px;margin-bottom:0px;font-size:11px;font-family:Menlo;"> kCCTextAlignmentRight,255);margin-top:0px;margin-bottom:0px;font-size:11px;font-family:Menlo;">} CCTextAlignment;

// types for animation in particle systems 粒子系统动画类型

// texture coordinates for a quad

typedef struct _ccT2F_Quad

ccTex2F bl;

ccTex2F br;

ccTex2F tl;

ccTex2F tr;

} ccT2F_Quad;

// struct that holds the size in pixels,texture coordinates and delays for animated CCParticleSystemQuad

typedef struct

ccT2F_Quad texCoords;

float delay;

CCSize size;

} ccAnimationFrameData;

/**

types used for defining fonts properties (i.e. font name,size,stroke or shadow(阴影 渐变))用于定义字体属性的类型(字体名 大小、、、)

// shadow attributes(阴影 渐变)属性

typedef struct _ccFontShadow

public:

// shadow is not enabled by default默认情况阴影不使用

_ccFontShadow(): m_shadowEnabled(false) {}

// true if shadow enabled

bool m_shadowEnabled;

// shadow x and y offset

CCSize m_shadowOffset; //偏移量

// shadow blurrines

float m_shadowBlur;//模糊值

// shadow opacity

float m_shadowOpacity;//透明值

} ccFontShadow;

// stroke attributes

_ccFontStroke

// stroke is disabled by default

_ccFontStroke(): m_strokeEnabled(false) {}

// true if stroke enabled

bool m_strokeEnabled;

// stroke color

ccColor3B m_strokeColor;

// stroke size

float m_strokeSize;

} ccFontStroke;

// font attributes

typedef struct _ccFontDefinition //字体定义

_ccFontDefinition(): m_alignment(kCCTextAlignmentCenter),255);margin-top:0px;margin-bottom:0px;font-size:11px;font-family:Menlo;"> m_vertAlignment(kCCVerticalTextAlignmentTop),255);margin-top:0px;margin-bottom:0px;font-size:11px;font-family:Menlo;"> m_fontFillColor(ccWHITE)

{ m_dimensions = CCSizeMake(0,0); }

// font name

std::string m_fontName;

// font size

int m_fontSize;

// horizontal alignment

CCTextAlignment m_alignment;

// vertical alignment

CCVerticalTextAlignment m_vertAlignment;

// renering box

CCSize m_dimensions;

// font color

ccColor3B m_fontFillColor;

// font shadow

ccFontShadow m_shadow;

// font stroke

ccFontStroke m_stroke;

} ccFontDefinition;

NS_CC_END

#endif //__CCTYPES_H__

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...