EasyCastleUNITY

Sprite 이미지 변경을 위한 간단한 테스트 본문

2D 콘텐츠 제작(드래곤 플라이트 모작)

Sprite 이미지 변경을 위한 간단한 테스트

EasyCastleT 2023. 9. 7. 23:47

버튼을 누르면 용들의 눈이 변경된다. 

간단한 코드를 통해 스프라이트를 변경해보았다.

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

public class TestEyeChange : MonoBehaviour
{
    [SerializeField] private Button btnAngry;
    [SerializeField] private Button btnDefault;

    [SerializeField] private Sprite defaultLeftEye;
    [SerializeField] private Sprite defaultRightEye;

    [SerializeField] private Sprite angryLeftEye;
    [SerializeField] private Sprite angrytRightEye;

    [SerializeField] private SpriteRenderer goldLeftRender;
    [SerializeField] private SpriteRenderer goldRightRender;

    [SerializeField] private SpriteRenderer whiteLeftRender;
    [SerializeField] private SpriteRenderer whiteRightRender;

    // Start is called before the first frame update
    void Start()
    {
      
        this.btnAngry.onClick.AddListener(() => {
            Debug.Log("화남 실행");
            this.goldLeftRender.sprite = this.angryLeftEye;
            this.goldRightRender.sprite = this.angrytRightEye;

            whiteLeftRender.sprite = this.angryLeftEye;
            whiteRightRender.sprite = this.angrytRightEye;
        });
        this.btnDefault.onClick.AddListener(() =>{
            Debug.Log("보통 실행");
            this.goldLeftRender.sprite = this.defaultLeftEye;
            this.goldRightRender.sprite = this.defaultRightEye;

            whiteLeftRender.sprite = this.defaultLeftEye;
            whiteRightRender.sprite = this.defaultRightEye;
        });
    }
}

하다보니 사소한 문제가 있었는데, 

금색 용의 눈 이미지는 잘 변경이 되었는데

흰색 용의 눈 이미지는 변경이 안되는 것이었다. 

 

처음의 눈의 변경은 애니메이션을 통해 하려고 했었다. 

이 애니메이션을 만들고 시험해본 것이 흰색 용이었다. 

 

이 후 눈의 스프라이트에 대해 애니메이션이 생기게 되면서 

코드를 통해 이미지를 바꾸려도 해도 바뀌지 않는 결과가 나타났다. 

 

그래서, 눈에 대한 애니메이션을 삭제하고 다시 해보니 

정상적으로 나오는 결과를 얻을 수 있었다. 

 

이 경험을 통해, 애니메이션을 가지고 있는 스프라이트는 쉽게 변경되지 않는다는 것을 알 수 있었다.