我们在游戏中有时会遇到 两层背景的情况,要离我们远的背景移动比较慢,近的比较快,如果不想自己写写两层背景,我们可以利用引擎自带的视差节点来做
auto sprite3 = Sprite::create("HelloWorld.png");
sprite3->setAnchorPoint(Point(0, 0));
auto sprite4 = Sprite::create("HelloWorld.png");
sprite4->setAnchorPoint(Point(0, 0));
auto sprite5 = Sprite::create("CloseNormal.png");
sprite5->setAnchorPoint(Point(0, 0));
parallax = ParallaxNode::create();
this->addChild(parallax);
parallax->addChild(sprite3, 1, Point(0.5, 0), Point(0,0));
parallax->addChild(sprite4, 1, Point(0.5, 0), Point(visibleSize.width/2, 0));
parallax->addChild(sprite5, 2, Point(1, 0), Point(500, sprite3->getContentSize().height / 2));
scheduleUpdate();
void HelloWorld::update(float t)
{
parallax->setPositionX(parallax->getPositionX()-1);
}
这样我们就能看到 近快远慢的 背景移动了