2017년 5월 12일 금요일

uGUI 에 Image 를 표시하고 Sprite Animation 을 하자

uGUI 에 표시할 수 있는 스프라이트 이미지에는 애니메이터를 붙여도 애니메이션이 되지 않는다.
비용 부담을 신경 쓰지 않고 간단하게 애니메이션을 표시하는 방법으로
SpriteRenderer 로 넘겨주는 Sprite 이미지를 매 업데이트 시점마다 Image 에도 뿌려주면 잘 나온다.

샘플 코드를 해당 image 오브젝트에 붙여두자.
(애니메이터와 스프라이트 랜더러도 붙어있어야 한다.)



using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;


public class SpriteRendererToUguiImage : MonoBehaviour {

    [SerializeField]
    private SpriteRenderer _spriteRenderer;

    [SerializeField]
    private Image _image;


 // Use this for initialization
 void Start () {

        if (_spriteRenderer == null)
            _spriteRenderer = this.GetComponent<SpriteRenderer>();

        _spriteRenderer.enabled = false;

        if (_image == null)
            _image = this.GetComponent<Image>();

 }
 
 // Update is called once per frame
 void Update () {

        _image.sprite = _spriteRenderer.sprite;
  
 }
}

댓글 없음:

댓글 쓰기