~ 2024.03/Unity 개발2 [Unity 2D 개발] 카메라와 Raycast를 사용해 화면 터치하기 Project_Bulb는 모바일 퍼즐게임으로 구상했기 때문에, 터치를 통해 오브젝트를 선택하도록 했다. 단, 오브젝트가 버튼이 아니기 때문에 Raycast를 사용해 구현했다. // 클릭한 위치에 Ray 쏘기 var ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit Hit; if (Input.GetMouseButtonDown(0)) { if (Physics.Raycast(ray, out Hit)) { //Ray에 닿은 GameObject가 Bulb일 경우, CheckWhite() 메소드 호출 if (Hit.transform.gameObject.TryGetComponent(out Bulb bulb)) { bulb.CheckWhite();.. 2020. 4. 20. [Unity 2D 개발] 상속과 오버라이딩을 이용한 Sprite 변경 Project_Bulb 는 Unity와 C#을 사용해 개발한다. 특정 행동으로 Sprite가 변경되는 Bulb 클래스와 그를 상속하는 DoorBulb 클래스가 있다. 두 클래스는 다른 Sprite를 사용하기 때문에 Sprite를 변경하는 함수를 구분해야 할 필요가 있다. Bulb의 Sprite 변경 함수는 다음과 같다. public void ChangeBulbImage() { gameObject.GetComponentInChildren().sprite = gameManager.bulbSprites[(int)colorState]; } Bulb의 Sprite 들을 GameManager 스크립트에 Sprite 배열로 저장했다. GameManager의 인스턴스인 gameManager의 배열에서 Sprite를 가.. 2020. 4. 20. 이전 1 다음