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,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",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);