[Unity] 버튼 누르는 효과 만들기!!

라지DO·2023년 10월 2일
1

Unity-study

목록 보기
2/2
post-thumbnail

1. C# 스크립트 만들기

C# Script를 생성 후 아래와 같이 코드를 입력해준다!

using UnityEngine;
using UnityEngine.UI;

public class ImageChange : MonoBehaviour
{
    public Image targetImage; // 기존 이미지
    public Sprite newImage;   // 바뀔 이미지
    private Sprite originalImage; // 원래 이미지 저장

    private void Start()
    {
        // 시작할 때 원래 이미지를 저장하는 코드
        originalImage = targetImage.sprite;
    }

    public void ChangeImage()
    {
        // 버튼을 누를 때 이미지가 바뀌고 0.3초 뒤에 원래 이미지로 돌아오는 코드
        targetImage.sprite = newImage;
        Invoke("RestoreOriginalImage", 0.3f);
    }

    private void RestoreOriginalImage()
    {
        // 3초 후에 원래 이미지로 복원하는 코드
        targetImage.sprite = originalImage;
    }
}

주의 사항
public class 옆의 이름과 해당 스크립트의 이름이 같아야 한다.


2. 버튼 생성하기

하이어라키 창에서 버튼을 만들어준다!


3. 버튼과 스크립트 연결하기

작성된 스크립트를 저장하여 하이어라키 창에 있는 버튼UI에 스크립트를 드래그하여 넣어준다!

버튼UI를 눌렀을 때 이렇게 연결되어 있으면 성공..!


4. 이미지 적용하기

Target Iamge에는 기존 이미지를 넣어주고 New Image는 버튼이 눌렸을 때 바뀔 이미지를 넣어준다!


5. Onclick 설정하기

아래의 사진처럼 인스펙터창에 Onclick을 설정해준다!

2021.3.x 버전 기준
Runtime Only 밑에는 버튼UI를 할당하고 오른쪽에는 ImageChange 스크립트의 ChangeImage 함수를 할당하면 된다.


6. 테스트

Game을 실행시키고 버튼을 클릭하여 버튼의 이미지가 바뀌는 모습을 볼 수 있다!



버튼UI 참고용


기존 이미지 예시
누른 후 이미지 예시

테스트 후 버튼을 눌렀을 때 이미지가 변하면 성공하신겁니다!
혹시 잘못된 정보가 있다면 알려주세요 : )

profile
개발자

0개의 댓글