using UnityEngine; public class TextureMovementDemo : MonoBehaviour { public float movementSpeed = 0.5f; public Sprite[] spriteArray; private int currentSpriteIndex; private Renderer materialRenderer; private Material material; private SpriteRenderer spriteRenderer; private void Start() { materialRenderer = GetComponent(); material = materialRenderer.material; spriteRenderer = GetComponent(); if (spriteArray.Length != 0) { spriteRenderer.sprite = spriteArray[currentSpriteIndex]; } } private void Update() { float x = Time.time * movementSpeed; material.SetTextureOffset("_MainTex", new Vector2(x, 0f)); if (Input.GetKeyDown(KeyCode.RightArrow)) { ChangeSprite(1); } else if (Input.GetKeyDown(KeyCode.LeftArrow)) { ChangeSprite(-1); } } private void ChangeSprite(int direction) { currentSpriteIndex += direction; if (currentSpriteIndex < 0) { currentSpriteIndex = 0; } else if (currentSpriteIndex >= spriteArray.Length) { currentSpriteIndex = spriteArray.Length - 1; } spriteRenderer.sprite = spriteArray[currentSpriteIndex]; } }