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)颜色的相关属性