dnrkckzk 초보 유니티 개발자 개발하면서 겪는 어려움들을 해결했을 때, 인터넷 돌아다니는 흥미 있는 글 있을 때, 저장하고 공유하기 위한 공간.

카테고리

전체보기 (42)
뇌를 자극하는 C# 5.0프로그래밍 (9)
Unity Tip (30)
C# (1)
Total
Today
Yesterday




안녕하세요. 새로운 팁으로 포스팅하겠습니다. 저번에 버튼 컴퍼넌트에 메소드를 연결하는 방법을 알아봤습니다. 이번에는 그것의 심화(?)버전이라고 할 수 있는데요. 바로 매개 변수를 포함하는 함수를 담는 방법에 대해서 알아보겠습니다.  바로 코드보시겠습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
using UnityEngine;
using UnityEngine.UI;
public class Test : MonoBehaviour
{
    public GameObject dummy;
 
    void Start ()
    {  
GetComponent<Button>().onClick.AddListener(() => Method());
        GetComponent<Button>().onClick.AddListener(delegate { Method_int(0); });
        GetComponent<Button>().onClick.AddListener(delegate { Method_float(1.1f); });
        GetComponent<Button>().onClick.AddListener(delegate { Method_GameObject(dummy); }); 
    }
 
    void Method()
    {
        print("Yes");
    }
 
    void Method_int(int num)
    {
        print(num);
    }
 
    void Method_float(float flo)
    {
        print(flo);
    }
 
    void Method_GameObject(GameObject go)
    {
        print(go.name);
    }
}
 

cs

 


처음에 추가한 방법은 저번에 추가했던 방법과는 다른 방법으로 추가하는 방법입니다. 매개 변수 없는 함수를 붙이는 방법입니다. 효과는 같습니다. 편하신거 쓰시면 됩니다. 

두번째 부터 마지막 까지는 매개 변수를 넣는 함수를 넣는 예시이며 굳이 여럿 쓴 이유는 다양한 활용이 가능하다는 점을 보여주기 위해서 입니다. 이런 식으로 매개 변수를 포함하는 함수도 스크립트로 연결하는 방법을 익혀두면 인스펙터에서 일일이 끌어다 쓰는 노동을 많이 줄일 수 있습니다.


다음에도 새로운 팁으로 포스팅하겠습니다. 읽어주셔서 감사합니다.


PS.

"배틀 사천성"이란 게임을 구글 스토어에 출시했습니다. 싱글 모드도 있고 친구랑 대전 할 수 있도록 멀티 모드도 있습니다. 한 번 플레이 해주세요. 감사합니다.

https://play.google.com/store/apps/details?id=com.dnrkckzk.pvp4000sung





Posted by dnrkckzk
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함