UITexture UV Animation
Unity3D/NGUI / 2024. 9. 5. 13:03
Unity 2021.3.43f1
NGUI 2023.08.01
----
NGUI에서 UV Animation을 하기 위해 UV를 제어 할 수 있는 UITexture를 활용한 애니메이션 스크립트
using UnityEngine;
using System.Collections;
public class UITexture_UVAnimation : MonoBehaviour
{
[SerializeField] private UITexture m_textureTarget = null;
[SerializeField] private Vector2 m_v2AnimationRate = new Vector2(1f, 0f);
private Coroutine m_coUVAnimation = null;
private Rect m_rect;
private float m_fDeltaTime = 0f;
void OnEnable()
{
if (null == m_textureTarget)
{
m_textureTarget = GetComponent<UITexture>();
}
RunUVAnimation();
}
void OnDisable()
{
StopAllCoroutines();
}
void RunUVAnimation()
{
if (null != m_textureTarget)
{
if (null != m_coUVAnimation)
{
StopCoroutine(m_coUVAnimation);
m_coUVAnimation = null;
}
m_coUVAnimation = StartCoroutine("CoUpdateUVAnimation");
}
}
IEnumerator CoUpdateUVAnimation()
{
while (true)
{
m_rect = m_textureTarget.uvRect;
m_fDeltaTime = Time.deltaTime;
if (0f != m_v2AnimationRate.x)
{
m_rect.x += m_v2AnimationRate.x * m_fDeltaTime;
}
if (0 != m_v2AnimationRate.y)
{
m_rect.y += m_v2AnimationRate.y * m_fDeltaTime;
}
m_textureTarget.uvRect = m_rect;
yield return null;
}
}
}
[참조] https://www.tasharen.com/forum/index.php?topic=8232.0
반응형
'Unity3D > NGUI' 카테고리의 다른 글
[링크] NGUI - BBCode (0) | 2024.10.17 |
---|---|
[링크] NGUI, BBCode 태그 제거하기 (Replace) (0) | 2024.10.17 |
[펌] NGUI-UILabel : Shadow+Outline (0) | 2024.01.25 |
[링크] [UnityNGUI] ScrollView에 Particle Clipping하기 (0) | 2023.10.31 |
[NGUI] NGUI Atlas가 압축(Compression) 상태에서 Atlas 묶을 때 오류 없이 자동처리 하기 (1) | 2023.04.07 |