游戏基础元素之精灵——Cocos2d-x学习历程(九)

1.创建精灵

在实际使用中,精灵是由一个纹理创建的。在不加任何设置的情况下,精灵就是一张显示在屏幕上的图片。通常精灵置于层下,因此我们首选在层的初始化方法中创建精灵,设置属性,并添加到层中。

有多种方式可以创建精灵:

(1)直接创建

auto sprite = Sprite::create("HelloWorld.png");
this->addChild(sprite,0);

(2)使用纹理来创建精灵

auto sprite1 = Sprite::createWithTexture(TextureCache::getInstance()->addImage("HelloWorld.png));
this ->addChild(sprite1, );

(3)使用精灵帧来创建精灵

auto sprite2=Sprite::createWithSpriteFrameName(  "HelloWorld.png"  );    
this ->addChild(sprite2, );

2.精灵属性
    创建了精灵后,我们还需要把精灵安排在合适的位置,否则引擎也不能决定精灵将如何呈现出来。诸如精灵的位置、方向、缩放比例等参数都是精灵的属性,我们在层中添加精灵之前,需要对它们进行恰当地设置。

auto size = Director::getInstance()->getWinSize();
auto point = ccp(size.width/,size.height/);
auto sprite = Sprite::create("image/atlas.png",CCRectMake(0.0,0.0,,));
sprite->setPosition(point);
this->addChild(sprite,);

我们可以看到,在这段代码中我们修改了精灵的Position属性。Position属性是一个Point类型的结构体,表示精灵在层中的位置,它是精灵相对于层的坐标。ccp(x,y) 与CCRectMake类似,是可以用来快速创建Point的宏。把精灵的位置坐标设置为屏幕长宽的一半,就可以使精灵位于屏幕*了。

3.向层中添加精灵

设置完精灵的属性后,就该把精灵添加到层中了。实际上Sprite与Layer都继承自Node,向一个游戏元素中添加其他游戏元素的addChild是Node包含的方法,因此我们完全可以如同向场景中添加层一样,把精灵添加到层中。

4.精灵的其他常用成员

(1)初始化方法:同创建精灵

(2)纹理的相关属性:用于获取或设置精灵内容。

(3)纹理的相关方法

(4)颜色的相关属性

上一篇:如何利用花生壳和VisualSVN Server建立远程代码仓库


下一篇:CodeGuide 300+文档、100+代码库,一个指导程序员写代码的,Github 仓库开源啦!