bool HelloWorld::init()
{
if ( !Layer::init() )
{
return false;
}
Size visibleSize = Director::getInstance()->getVisibleSize();//获取屏幕尺寸
auto *sp = Sprite::create("CloseSelected.png");//创建精灵
sp->setPosition(Vec2(visibleSize.width/2,visibleSize.height/2));//设置精灵位置
this->addChild(sp);//添加精灵到层中
auto *sp2 = Sprite::create("CloseSelected.png", Rect(0, 0, 30, 30));//创建精灵
sp2->setPosition(Vec2(visibleSize.width / 2, visibleSize.height*0.7));
this->addChild(sp2);
SpriteFrameCache::getInstance()->addSpriteFramesWithFile("blocks9ss.plist");//用缓存帧创建
auto *sp3 = Sprite::createWithSpriteFrameName("blocks9r.png");
sp3->setPosition(Vec2(visibleSize.width / 2, visibleSize.height / 2));
this->addChild(sp3, 1);
SpriteFrame *frame = SpriteFrame::create("CloseSelected.png", Rect(0, 0, 30, 30));//另一种缓存帧
auto *sp4 = Sprite::createWithSpriteFrame(frame);
sp4->setPosition(Vec2(visibleSize.width / 2, visibleSize.height*0.8));
this->addChild(sp4,1);
return true;
}
精灵的创建比较简单,首先用cocos提供的方法创建精灵,设置精灵的位置,并将精灵添加到层中。创建的时候确保名称是正确的,并且在资源目录下有这个文件。缓存帧的方式需要.plist文件和.png文件,否则会报错误。
auto sprite1 = Sprite::createWithTexture(TextureCache::getInstance()->addImage(
"HelloWorld.png"
));//使用纹理创建精灵
this
->addChild(sprite1, 0);