背景循环滚动
背景循环滚动是2d游戏制作时经常可能会涉及到的一部分。https://www.zhihu.com/video/1064105089442168832
(因为不是无缝贴图,所以效果一般)
新建2d项目
创建sprite,改名为bg,向SpriteRenderer中的Sprite里拖拽一张你希望作为背景的图。(最好有无缝贴图,这里的图是网上找来的,没有找到合适的无缝贴图。)
将Sprite的DrawMode改为Tiled(平铺),然后调整Width为原来的三倍(方便观察滚动的效果。注意:不改动也可以,下文对应代码中不需要除以3了)。
代码逻辑:
在Start()方法中得到bg的右边界,左边界,和左右边界的距离。
使bg图不断向右移动,当position的x轴坐标到达right点,重置bg图的位置,使position的x轴处于左边界的位置。
不断重复, 达到背景循环滚动的目的。
注意:
1. [Range(0f,1f)] 是将rollSpeed在Inspector面板中设置成滑动条的样式,方便滑动调整滚动速度。
2. bounds是图形的边界框,bounds.extents.x是图形边界框长度一半,position.x+bounds.extents.x也就是right的位置