유니티/실습

주말 숙제 - FPS+TD - 4 - 타워 설치하기

파란색까마귀 2022. 2. 13. 23:12

2016. 4. 9. 21:07

https://blog.naver.com/nagne2011/220678955985

 

건설모드의 옵션을 만들어준다

건설모드는 역시 파이프렌치!

 

      //무기변경
                Uiaim.SetActive (true);
                _m4.SetActive (false);
                _wrench.SetActive (true);
                _menu.SetActive (true);
                _spawn.SetActive (false);

 

안쓰는 것들과 쓰는것들을 할당해서 끄거나 켜주고

 //터렛변경
                if (Input.GetKeyDown (KeyCode.Alpha1)) 
                {
                    _currnetTurret = 1;
                }
                if (Input.GetKeyDown (KeyCode.Alpha2)) 
                {
                    _currnetTurret = 2;
                }
                if (Input.GetKeyDown (KeyCode.Alpha3)) 
                {
                    _currnetTurret = 3;
                }

설치할 터렛을 변경할 수 있도록 한다음

 switch (_currnetTurret) 
                {
 
                case 1:
                    {
                        _dummyTurret [0].SetActive (true);
                        _dummyTurret [1].SetActive (false);
                        _dummyTurret [2].SetActive (false);
                    }
                    break;
 
                case 2:
                    {
                        _dummyTurret [0].SetActive (false);
                        _dummyTurret [1].SetActive (true);
                        _dummyTurret [2].SetActive (false);
                    }
                    break;
 
                case 3:
                    {
                        _dummyTurret [0].SetActive (false);
                        _dummyTurret [1].SetActive (false);
                        _dummyTurret [2].SetActive (true);
                    }
                    break;
 
                }
 

 

선택한 터렛만 표시되도록 한다

 

 ray.origin = _gun.transform.position;
                ray.direction = Camera.main.transform.forward;
 
                if (Input.GetMouseButtonDown (0)) 
                {
                    if(Physics.Raycast(ray, out hit, _range))
                    {
 
                        if (hit.collider.gameObject.CompareTag ("Finish")) 
                        {
                            Instantiate (_turret [_currnetTurret - 1], hit.transform.position, Quaternion.identity);
                        }
 
                    }
 
                }

 

그리고 레이를 하나 발사해서, Finish라는 태그를 가진 물체와 접촉시 해당 위치에 선택된 터렛이 생성된다

 

 

 

UI를 달아준다

 



 

이게 게임화면.

좌측상단에 메뉴바가 있고,

아래에 현재 선택된 터렛이 표시가된다 (설치된 상태가 아니다!)

 

 

그다음 건설 지점에 가까이 가서,

 



 

클릭으로 레이를 발사해서 건설하면 완료!

 

비용 골드는 너무 간단하기 때문에 일단 생략하기로 했다.

 
 
터렛은 에셋을 새로 받은다음
예전에 '비행기 시뮬레이션'에서 쓰던 터렛을 일부 가져와서 다시 고쳤다.
크게 바뀐건 없고, 태그가 Enemy인것만 판단해서 사격한다
(이전에는 모든 적 유닛을 list에 담아서 판단했다)
 
이제 건설모드에서 사격모드로 넘어가고, 게임이 시작되도록 만들면 끝
 
 
 
...메인화면도 만들었다
퀄리티가... ㄷㄷㄷㄷㄷ
 
Gui를 사용한 게임 스타트 버튼도 만들어서 달아두었다.
728x90