Cocos2d-x学习笔记《08》——精灵类Sprite

时间:2023-02-06 19:49:56

Cocos2d-x学习笔记《08》——精灵类Sprite

一. Sprite类继承关系

Cocos2d-x学习笔记《08》——精灵类Sprite

 

精灵实际上可以说就是游戏总的主角,游戏中我们可操作的人物、宠物等待。我们所看到的精灵本质上就是一个静态的二维图。在Cocos2d-x里面精灵是用Sprite类来进行表示的,它可以用一张图片或者一张图片的一块矩形部分来定义。

二. 精灵创建

精灵提供了多个创建方式,具体如下:

1 //创建一个无纹理Sprite,可以在创建后调用setTexture方法设置纹理。
更多...
2 static
Sprite* create();
3   
4 //指定图像文件名创建Sprite
5 static
Sprite* create(
const
std::string& filename);
6      
7 //指定图像文件名及Rect参数创建Sprite
8 static
Sprite* create(
const
std::string& filename,
const
Rect& rect);
9      
10 //指定Texture2D纹理对象创建Sprite
11 static
Sprite* createWithTexture(Texture2D *texture);
12      
13 //指定Texture2D纹理对象及Rect参数创建Sprite
14 static
Sprite* createWithTexture(Texture2D *texture,
const
Rect& rect,
bool
rotated=
false);
15      
16 //指定Sprite帧(SpriteFrame)创建Sprite
17 static
Sprite* createWithSpriteFrame(SpriteFrame *spriteFrame);
18   
19 //指定Sprite帧名称创建Sprite
20 static
Sprite* createWithSpriteFrameName(
const
std::string& spriteFrameName);

三. 常用属性方法

(1). 初始化相关

1 //对未初始化的空Sprite执行初始化操作 
2 virtual
bool
init(void); 
3    
4 //指定Texture2D纹理初始化Sprite,精灵大小即是纹理大小 
5 virtual
bool
initWithTexture(CCTexture2D *pTexture); 
6    
7 //指定Texture2D纹理对象及Rect参数初始化Sprite 
8 virtual
bool
initWithTexture(CCTexture2D *pTexture, const
CCRect& rect); 
9    
10 //指定Texture2D纹理对象、Rect参数及是否旋转初始化Sprite 
11 virtual
bool
initWithTexture(CCTexture2D *pTexture, const
CCRect& rect,
bool
rotated); 
12    
13 //指定SpriteFrame初始化Sprite,SpriteFrame中的纹理(texture)和Rect参数将被用于此Sprite
14 virtual
bool
initWithSpriteFrame(CCSpriteFrame *pSpriteFrame); 
15    
16 //指定Sprite帧名称初始化Sprite
17 virtual
bool
initWithSpriteFrameName(const
char
*pszSpriteFrameName); 
18    
19 //指定图像文件初始化Sprite 
20 virtual
bool
initWithFile(const
char
*pszFilename); 
21    
22 //指定图像文件名及Rect参数初始化Sprite
23 virtual
bool
initWithFile(const
char
*pszFilename, const
CCRect& rect);

(2). 属性相关

view sourceprint?
1 //设置节点的缩放(x)
2 virtual
void
setScaleX(float
fScaleX); 
3 //设置节点的缩放(y)
4 virtual
void
setScaleY(float
fScaleY); 
5 //设置节点的缩放(x,y)
6 virtual
void
setScale (float
scaleX,
float
scaleY);
7 //设置节点在它父节点坐标系中的位置
8 virtual
void
setPosition(const
Vec2& pos);
9 virtual
void
setPosition(float
x,
float
y);
10   
11  //设置节点的旋转(angle)角度
12 virtual
void
setRotation(float
rotation);
13 //设置节点X轴的旋转角度,表现为水平旋转倾斜
14 virtual
void
setRotationSkewX(float
rotationX);
15 //设置Y轴节点的旋转角度,表现为垂直旋转倾斜
16 virtual
void
setRotationSkewY(float
rotationY);
17 //改变该节点X轴的倾斜角,单位是度
18 virtual
void
setSkewX(float
sx); 
19 //改变该节点Y轴的倾斜角,单位是度
20 virtual
void
setSkewY(float
sy); 
21 //从容器中删除一个孩子,取决于cleanup参数同时会清除所有的活动的动作
22 virtual
void
removeChild(Node* child, bool
cleanup); 
23 //从容器中删除所有的孩子,
取决于cleanup参数同时会清除所有的活动的动作
24 virtual
void
removeAllChildrenWithCleanup(bool
cleanup); 
25 //对一个孩子重新排序,设定一个新的z轴的值
26 virtual
void
reorderChild(Node *child, int
zOrder); 
27 //在绘画之前,排列所有的孩子数组一次,而不是每次添加或者删除子节点时都排序。
这个方法可以大量地提高性能
28 virtual
void
sortAllChildren(); 
29 //添加一个子节点到容器中
30 virtual
void
addChild(Node *Child); 
31 virtual
void
addChild(Node *child, int
zOrder,
int
tag); 
32 virtual
void
addChild(Node *Child, int
zOrder,
int
tag);
33 //设置几点的缩放(x,y,z)
34 virtual
void
setScale(float
fScale); 
35 //设置位置的“z”轴坐标系,是OpneGL
Z 定点值
36 virtual
void
setVertexZ(float
fVertexZ);
0

>> 本文固定链接: http://www.who1753.com/cocos2dx-study-notes-08.html

>> 转载请注明: who1753 2014年07月25日 于 WHO1753 发表