전체 글 (7) 썸네일형 리스트형 [Unity] 캔버스에서 클릭한 UI 이름 알아내기 / IPointerClickHandler / pointerCurrentRaycast UI에 대한 마우스 클릭 이벤트를 감지하려면 IPointerClickHandler를 구현해야 한다. 해당 인터페이스는 OnPointerClick(PionterEventData pointerEventData) 메소드를 포함하고 있으며, 해당 메소드는 마우스 클릭 시 클릭 버튼, 클릭 횟수, 포인터 위치 등에 대한 정보를 담고 있다. IPointerClickHandler를 사용하기 위해서는 아래 조건이 충족되어야 하는데, 캔버스 생성시 자동으로 추가/설정되는 항목이므로 참고만 하자. Scene에 UI->EventSystems가 존재하는가? (마우스 입력을 받음) 캔버스에 Graphic Raycaster가 존재하는가? (Raycast를 쏴줌) 검출하려는 UI에 대해 Raycast Target이 체크되어 있는가.. [Unity] 캔버스 마스크 / UI의 원하는 부분만 보이게 하기 캔버스에서 어떤 오브젝트의 위치를 이동할 수 있고, 해당 오브젝트는 정해진 구역 안에서만 보여지도록 하고 싶을때 사용 가능한 기능이 바로 "캔버스 마스크"이다. 예제를 통해 바로 확인하도록 하자. 먼저 캔버스에 아래와같은 창문 이미지를 추가했다. (좌) 창밖에서 산타클로스가 빼꼼 하도록 하고싶은데, 당당히 주거침입을 하고 있는 모습이다. (우) 창틀 안쪽 부분에 네모난 Panel을 추가하고 Mask 컴포넌트를 추가한다. (Mask Image) 그리고 보여주고 싶은 이미지를 자식으로 추가한다. 결과물을 보니 예시가 적절했는지 조금 의문이 들지만.. (안쪽에 있는 창틀은 고려 못함) 여러가지로 활용 가능할 것 같은 캔버스 마스크에 대한 소개였다. [Unity] 마우스 뗄 때 이벤트가 발생하는 슬라이더 만들기 / IPointerUpHandler public class SliderController : MonoBehaviour { public Slider slider; public Text text; private void Start() { slider.onValueChanged.AddListener(delegate { valueChanged(); }); } private void valueChanged() { text.text = slider.value.ToString(); } } 간단하게 슬라이더의 value가 변경될때마다 이벤트를 발생시켜, 그 시점의 value를 보여주는 코드를 작성해보았다. 슬라이더의 노드를 이동시키면 실시간으로 그 결과값이 바뀌는 것을 확인할 수 있다. 이렇게 단순한 동작이라면 문제가 없지만, valueChanged 이.. 이전 1 2 3 다음