본론부터 말하자면 불가능하다
유니티는 기본적으로 레이캐스트(상호작용하고자 하는 곳? 범위?를 지정하고 실제 부딪혔는지 체크하는 광선검)이
이미지에 자동적으로 붙어있다.
즉 스프라이트 렌더러에는 레이캐스트가 없다.
그래서 버튼을 달아도? 클릭했는지 아닌지 오브젝트가 알 방법이 없기 때문에 버튼이 작동하지 않는다.
해결방법 1. 스프라이트 렌더러를 포기하고 이미지로 죄다 바꾼다.
-> 이론적으로는 가능하다. 다만 코드도 다 바꿔야하고 시간도 오래걸리고
무엇보다 아직 이미지 파트 스크립트를 잘 못 읽는다...ㅋㅋㅋ 그래서 바꿀 엄두가 안남
그래서 아래의 방법을 사용했다
해결방법 2. 카메라에 피직스 2D 레이캐스트를 붙인다. 카메라에만 붙힐 수 있음
그 다음에 클릭할 오브젝트에 2D 콜리젼을 붙인다.
그리고 이벤트 트리거라고 클릭, 드래그, 떼기 등등 체크할 수 있는 트리거가 있는데
이 트리거에 스크립트를 연동시켜서 함수를 실행한다~
2번으로 아직까진 문제발견X
'📁 개발 히스토리' 카테고리의 다른 글
C++ - 벡터 클래스 구현하기(2) (0) | 2022.11.08 |
---|---|
C++ - 벡터 클래스 구현하기(1) (0) | 2022.11.03 |
유니티 - 텍스트메쉬프로 사용하기 (0) | 2022.10.19 |
유니티 - 내 오브젝트에 있는 리스트에 있는 게임 오브젝트에 있는 스크립트에 있는 리스트에 있는 게임 오브젝트에 있는 스크립트에 있는 변수 가져와줘 (1) | 2022.10.18 |
유니티 - 스프라이트 설정 (0) | 2022.10.17 |