COCOS 2DX 3.10让你的背景滚动起来~ 原来这么简单

根据游戏的开发需要,大家一定少不了背景滚动这一条件,如今,就来告诉大家,如何来真正实现背景的滚动。


	
	/*添加一个游戏背景 并设置图片的坐标*/
	auto spbk = Sprite::create("background.png");  


	//实现图片的左下角对齐屏幕的左下角
	spbk->setPosition(Vec2(0, 0));
	spbk->setAnchorPoint(Point::ZERO);  //设置锚点

	this->addChild(spbk);

	/*添加第二个游戏背景 并设置图片的坐标*/
	auto spbk_1 = Sprite::create("background.png");

	//实现图片的y坐标始终等于第一个图片的y坐标

	spbk_1->setAnchorPoint(Point::ZERO);  //设置锚点
	spbk_1->setPosition(Vec2(0, 0));
	spbk_1->setPositionX(spbk->getPositionY() + 1280);

	this->addChild(spbk_1);

	//设置唯一的ID
	spbk->setTag(10);
	spbk_1->setTag(11);


	//利用计划任务实现背景图片的滚动

	this->schedule(schedule_selector(GameScene::moveBackground),0.05);   //每隔5毫秒调用一次moveBackground方法
/*实现背景的一个滚动*/
void GameScene::moveBackground(float t)
{
	//根据Tag 或许相应的元件
	auto spbk = this->getChildByTag(10);
	auto spbk_1 = this->getChildByTag(11);

	spbk->setPositionY(spbk->getPositionY() - 20);  //20为移动的像素
	if (spbk->getPositionY() < -1280)
	{
		spbk->setPositionY(0);  
		spbk_1->setPositionY(spbk->getPositionY()+1280);   //始终让第二张图片与第一张图片相互衔接
	}

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值