滚动地图的实现

本文详细介绍了如何使用Cocos2d-x游戏引擎实现滚动地图的效果,通过两张可拼接的地图图片在x轴或y轴上的平移,创造出连续的滚动视觉体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

滚动图的实现其实就是两张首尾可以拼接的图在不断的往x轴或y轴方向移动的过程

其实现具体如下

void GameLayer::movingBackground(float delta) {
	float movingDist = this->_ship->getBackgroundMoveSpeed() * delta * (this->_borderLayer->getTimerPercentage() / 100);//计算每帧移动的像素

	float locBackgroundWidth = this->_backgroundWidth;//地图宽度
	Background* locBackground = this->_background;//当前正在滚动的图

	float currPosX = locBackground->getPositionX() - movingDist;//由于是横版,所以x轴每帧减去移动的像素大小
	Background* locBackgroundRe = this->_backgroundRe;//_backgroundRe初始化为NULL,即在第一次运行时locBackgroundRe为NULL


	if(locBackgroundWidth + currPosX <= ScreenWidth) {//如果在滚动的过程中,第一张图的最右边滚出界,则将第二张图连接上,重复此过程
		//将之前的第一张图赋给locBackgroundRe和_backgroundRe
		locBackgroundRe = this->_background;
		this->_backgroundRe = this->_background;

		//创建一张新的连接图,并赋给locBackground
		this->_background = Background::getOrCr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值