在很多的2D横版游戏中,游戏背景都是不断地移动的,让人看起来好像是有无限长,但其实都是由几个背景图片拼接而成的,接下来我们就来说说怎样才能实现这样的效果
首先准备几张背景图片,背景图片的大小要一致。比如下面这样:
我们将每张图片的长度用length来表示,三张图片总的长度用total_length来表示。total_length=3*length
将三张图片都放入场景中,并且让每张图片都充满整个场景(这样做的目的是移动图片时不会出现断层的现象)
并排放置三张图片,就像上面那样。
接下来创建一个脚本,叫做BgControll,在每个背景图片上都添加一个BgControll脚本
在脚本中的Updata函数中写上这样的代码:
Vector3 bgPosition = this.transform.position;
Vector3 cameraPosition = mainCamera.transform.position; // mainCamera是相机的位置
if (bgPosition.x + total_length / 2.0f < cameraPosition.x)
{
bgPosition.x += totalLength;