unity背景图片循环滚动代码
时间: 2023-08-06 10:18:21 浏览: 154
以下是Unity中实现背景图片循环滚动的代码示例:
```csharp
using UnityEngine;
using System.Collections;
public class OffsetScroller : MonoBehaviour {
public float scrollSpeed;
private Vector2 savedOffset;
void Start () {
savedOffset = GetComponent<Renderer>().sharedMaterial.GetTextureOffset("_MainTex");
}
void Update () {
float x = Mathf.Repeat(Time.time * scrollSpeed, 1);
Vector2 offset = new Vector2(x, savedOffset.y);
GetComponent<Renderer>().sharedMaterial.SetTextureOffset("_MainTex", offset);
}
void OnDisable () {
GetComponent<Renderer>().sharedMaterial.SetTextureOffset("_MainTex", savedOffset);
}
}
```
这段代码中,我们创建了一个名为“OffsetScroller”的组件,该组件用于控制背景图片的滚动。在开始时,我们保存了背景图片的初始偏移量。然后,在Update函数中,我们通过Mathf.Repeat函数计算出背景图片的新偏移量,并将其应用于背景图片的材质。最后,在禁用组件时,我们恢复了背景图片的初始偏移量。
将该组件添加到背景图片的游戏对象上,并将scrollSpeed参数设置为所需的滚动速度即可实现循环滚动。
阅读全文