游戏基础元素之精灵——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, 0); 

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

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

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

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

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

3.向层中添加精灵

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

4.精灵的其他常用成员

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

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

   (3)纹理的相关方法

   (4)颜色的相关属性

posted on 2015-04-24 14:41  凌末  阅读(377)  评论(0编辑  收藏  举报

导航