背景移动视差效果

我们在游戏中有时会遇到 两层背景的情况,要离我们远的背景移动比较慢,近的比较快,如果不想自己写写两层背景,我们可以利用引擎自带的视差节点来做

	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);
}

这样我们就能看到 近快远慢的 背景移动了

你可能感兴趣的:(cocos2d,C++)