うにてぃブログ

主にUnityとC#に関する記事を書いていきます

【Unity】RawImage を スクロールする

f:id:hacchi_man:20200415135307g:plain

using UnityEngine;
using UnityEngine.UI;
 
[RequireComponent(typeof(RawImage))]
public class RawImageScroll : MonoBehaviour
{
    [SerializeField, HideInInspector]
    private RawImage _rawImage;
    [SerializeField]
    private float _speedX = 1f;
    [SerializeField]
    private float _speedY = 1f;
    
#if UNITY_EDITOR
 
    private void Reset()
    {
        _rawImage = GetComponent<RawImage>();
    }
    
#endif
 
    private void Update()
    {
        var rect = _rawImage.uvRect;
        rect.x += Time.deltaTime * _speedX;
        rect.y += Time.deltaTime * _speedY;
        if (rect.x > 1f)
            rect.x -= 2;
        else if (rect.x < -1f)
            rect.x += 2;
        if (rect.y > 1f)
            rect.y -= 2;
        else if (rect.y < -1f)
            rect.y += 2;
        _rawImage.uvRect = rect;
    }
}