
嘿,秀一下效果图:
让这四张美女图片,循环的向上滚动,那么如何做的呢?
首先准备四张图片分别命名:
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;
};
在init中将精灵创建,并push到 _vcSprites
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. 总结以上是内存溢出为你收集整理的cocos2dx3.2 实现splash屏幕图片秀滚动全部内容,希望文章能够帮你解决cocos2dx3.2 实现splash屏幕图片秀滚动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)