Unity开发2D游戏之游戏背景的移动

这篇博客介绍了如何在Unity中制作2D横版游戏的背景移动效果,通过拼接多张背景图片并利用脚本来实现背景的无缝循环滚动。关键步骤包括设置相同大小的背景图片,确保图片满屏显示,编写BgControll脚本控制图片移动,以及根据相机位置判断和调整背景图片的位置,从而达到视觉上的无限滚动效果。
摘要由CSDN通过智能技术生成

在很多的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;
        
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值