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

카테고리

전체보기 (39)
Unity Tip (28)
뇌를 자극하는 C# 5.0.. (9)
C# (1)
Total29,895
Today5
Yesterday49



안녕하세요.

새로운 내용으로 포스팅하겠습니다. 저번 포스팅에서 약간 응용 버전이라고도 할 수 있습니다. for문을 활용하는 것인데요 바로 코드 보시겠습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using UnityEngine;
using UnityEngine.UI;
public class Test : MonoBehaviour
{
    public GameObject dummy;//버튼
    public Transform dd;//부모 캔버스
    void Start()
    {
        for (int i = 0; i < 10; i++)
        {
            GameObject asd = Instantiate(dummy, dd);
            int asdd = i;
            asd.GetComponent<Button>().onClick.AddListener(delegate { Method_int(asdd); });
        }
    }
 
    void Method_int(int num)
    {
        print(num);
    }
}
cs
 
보시면 for문으로 돌면서 버튼들에 매개 변수를 넣어서 함수를 붙이고 있습니다. 이런 식으로 활용할 수도 있습니다. 
저는 주로 스테이지 게임을 만들때 스테이지 넘버 값을 매개 변수로 해서 씬을 넘기는 함수를 붙여서 스테이지에 넣는 식으로 활용했습니다. 주의해야 할 것이 있는데 i값을 바로 넣지 말고, 변수를 하나 만들고 그 변수값을 넣어줘야 합니다. 그렇지 않으면 모든 버튼들에 하나의 값만 들어가게 됩니다. 믿기지 않는다면 asdd값을 넣지말고 i를 매개 변수로 지정해서 한번 실행시켜 보시면 됩니다. 
별거 아닌거 같지만 나름 꿀팁이라고 생각해서 이렇게 포스팅 남겼습니다. 도움이 되길 바랍니다.

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



Posted by dnrkckzk

댓글을 달아 주세요

최근에 달린 댓글

최근에 받은 트랙백

글 보관함