现在很多教程实现的两张图片循环滚动并不是真正的a->b, b->a,a->b,b->a这样滚动,而是a->b,a->b这样循环播放。(a,b分别代表两张图片)
实现这样的想法,只需要定时检测第一张图片,如果第一张超出屏幕,就把第一张图片放置在第二张后面即可,这样之后,第二张图片就变成了第一张,相当于进行了一次置换。
相当于两张图片进行循环移位。
void HelloWorld::update(float dlt)
{
int winHeight = Director::getInstance()->getWinSize().height;
if (array[0]->getPositionY() < -winHeight / 2)
{
array[0]->setPositionY(winHeight/2 * 3);
auto temp = array[0];
array[0] = array[1];
array[1] = temp;
}
array[0]->setPositionY(array[0]->getPositionY() - 1);
array[1]->setPositionY(array[1]->getPositionY() - 1);
}