嘿,秀一下效果图:
让这四张美女图片,循环的向上滚动,那么如何做的呢?
首先准备四张图片分别命名:
Beauty1,Beauty2,Beauty3,Beauty4
然后在Splash类中添加_vcSprites,用来保存精灵
class SplashScene : public cocos2d::Scene
{
public:
CREATE_FUNC(SplashScene);
virtual bool init();
virtual void update(float dt);
void playerAction();
void beginGame();
private:
SplashScene();
virtual ~SplashScene();
Vector<Sprite*> _vcSprites;
int _index;
};
this->schedule(schedule_selector(SplashScene::update));
for (int j = 0; j < 2; ++j) //两分同样的精灵
{
for (int i = 0; i < 4; ++i)
{
auto fileName = String::createWithFormat("Beauty%d.png",i + 1);
auto sp = Sprite::create(fileName->getCString());
sp->setAnchorPoint(Vec2(0.5f,1.0f)); //设置锚点为上边中点
sp->setPosition(VisibleRect::top().x,VisibleRect::top().y - i * sp->getContentSize().height -j * sp->getContentSize().height * 4
);
this->addChild(sp);
_vcSprites.pushBack(sp);
}
}
然后在SplashScene::update中,实现精灵坐标的转变:
void SplashScene::update(float dt)
{
for(auto it = _vcSprites.begin(); it != _vcSprites.end(); ++it)
{
y = (*it)->getPositionY() + 3;
(*it)->setPositionY(y);
if( (*it)->getPositionY() - (*it)->getContentSize().height > VisibleRect::top().y)
{
(*it)->setPositionY(VisibleRect::top().y - (*it)->getContentSize().height * 7);
//7代表的是最后一张精灵
}
}
}
ok.版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。