UGUI버튼 스크립트로 메소드 연결하기(3)
Unity Tip / 2018. 10. 31. 22:06
안녕하세요.
새로운 내용으로 포스팅하겠습니다. 저번 포스팅에서 약간 응용 버전이라고도 할 수 있습니다. 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.
"배틀 사천성"이란 게임을 구글 스토어에 출시했습니다. 싱글 모드도 있고, 친구랑 대전할 수 있도록 멀티 모드도 있습니다. 한 번 플레이 해주세요. 감사합니다.
'Unity Tip' 카테고리의 다른 글
외부 문서 파일내 한글 때문에 제대로 안 읽혀질 때 (0) | 2018.12.02 |
---|---|
선택적 매개변수. (0) | 2018.11.05 |
UGUI버튼 스크립트로 메소드 연결하기(2) (1) | 2018.10.29 |
터치(마우스 클릭)한 곳 좌표값 받는 스크립트 (0) | 2018.10.22 |
Additive모드로 씬 불러오기와 주의할 점. (1) | 2018.04.29 |