일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- unity공부
- 유니티게임만들기
- 티스토리챌린지
- 유니티
- unity3d
- c#프로그래머스기초문법
- c#기본문법
- c#
- c#코테
- 시샵문법
- 유니티상호작용
- C#문법
- c#문제
- 유니티서바이벌게임만들기
- 유니티3dui
- 스파르타코딩클럽
- c# c#프로그래머스
- unity게임만들기
- 시샵
- c# 백준
- unity3d게임만들기
- c#코딩기초트레이닝
- 오블완
- unity3dservival
- 유니티공부
- Unity
- 스파르타
- Console.WriteLine
- c#기초문법
- unity게임
- Today
- Total
나 개발자 진짜 되냐?
[ Unity 뱀서라이크 게임을 만들어보자 5 ] 공격 구현하기 공격!!!! 본문
누가 쉬는 날 강의를 듣지??
예.. 누 입니다.
오늘은 한글날입니다.
그래서 영어를 최대한 안 쓸 예정이지요.
영어를 쓰지 않고 공격구현을 해보겠습니다.
나름 미션이라고 생각하니 재밌겠네요!
..
..
.. 아니
미션........
나름 숙제라고 생각하니 재밌겠네요
시작하겠습니다.
우리가 지난 글에서
플레이어인풋컨트롤러 스크립트에
온파이어 함수를 만들어주었었다.
이 친구부터 수정하자!
여기서 온파이어는
플레이어인풋 옵젝에 있는
비헤이비어 샌드메시지에 있는 함수라고 생각해 주면 된다.
디버그를 지우고
밸류의인프레스드 값을
변수에 넣어준다
빨간 줄..
이유는 선언을 안 해주어서
이 선언은
탑다운컨트롤러에서 해준다.
해준다음에 아래로 와서 업데이트문을 작성해야 한다.
그 이유는 지난 공격을 하고 나서 몇 초가 지났는가? 에 대한 함수를
만들어야 하기 때문!!
함수에는
일단은 0.2로 코딩해 주었지만 나중에 값을 수정해주어야 한다.
그리고 만약문에 들어오면
이 친구가 실행되도록 만들어주어야 한다.
? 는 널값일 경우가 있다.
라는 뜻으로
놀이면 실행하지 마소!
널 아니면 실행하소!
그리고 변수를 적어준다.
눌렀다는 사실을 알려주기 위해,
받을 게 없기 때문에 간단하게 변수를 작성한다.
다음 우리는 또 새로운 클래스를 만든다.
이름은
탑 다운 슈팅
여기서는 공격하는 함수를 구현해 준다.
자 이제 만들자마자 우리는 컨트롤러를 받아야 하기 때문에
여러 번 봤죠!?
다음 스타트에 와서
함수 두 개를 만들어준다.
온슛 이 친구는 매개변수가 없고
온게임은 매개변수가 벡터가 있다.
이유는 온룩이벤트는 벡터를 받고
온어택이벤트는 반환할 게 없었기 때문이다!
이 프리펩은 나중에 구현하자.
왜냐면 프리펩을 아직 안 만들어 주었기 때문 ㅎㅅㅎ
자 이제 유니티로 와서
애로우 밑에 웨폰 애로우를 만들고
웨폰 애로우에는 스프라이트 렌더러를 이용해서
스프라이트를 애로우로 바꾼다.
그다음 회전을 z 축을 -90도로 바꾼다.
다음
우리는 화살을 반복적으로 내보내야 하기 때문에
프리펩을 써야 한다.
에셋에서 프리펩 폴더를 만들어주고
애로우를 드래그드롭해 준다!
중요한 것은 그다음에
오브젝트에서 지워줘야 한다!
그리고 그리고!
플레이어로 돌아가서
드래그 드롭 해주어야 하는데
프리팹의 경우
꼭 파란 친구를 드래그드롭해주어야 한다.
무슨 말이냐
오른쪽에 점으로 찾을 수 없는 위치에 있어서
꼭 프리펩 안에 들어가서
가지고 와야지만 사용가능!
이렇게 까지 해 주면 ㅋㅋㅋ
혼자 신나게 쏘는 모습을 볼 수 있다.
우리는 클릭해야지만 쏴야 하는데...
그 이유가 뭘까
우리가 화살이 나가는 함수가
탑다운 컨트롤러스크립트 안에 있는
이즈너테킹함수이다.
이 함수에 들어가면
플레이어인풋컨트롤러 스크립트에서
온파이어 했을 때,
이즈 어태킹이 참 거짓으로 바뀐다.
근데 참 거짓으로만 바뀌지
클릭했을 때라는 조건이 없다.
그래서 그 조건을 등록해주어야 한다
어디에?
어택을 핸들 하는 공간에다가 추가한다.
이렇게 고쳐주면!
눌렀을 때만 작동한다.
왜?
엘스이프 부분에 이즈어테킹을 걸어서
참이고 0.2보다 클 때라고 해놨기 때문!
이번 공부는
쓰면서도 굉장히 어렵다고 느끼는 부분이 많다.
내가 과연 이 부분을 다 숙지하고
유니티 입문을 탈출할 수 있을까..?!
'유니티를 공부해봐요! > 초급이에요!' 카테고리의 다른 글
[ Unity 뱀서라이크 게임을 만들어보자 7 ] 투사체를 날려보자! (1) | 2024.10.10 |
---|---|
[ Unity 뱀서라이크 게임을 만들어보자 6 ] 게임에는 스텟이 필요하지! (1) | 2024.10.10 |
[ Unity 뱀서라이크 게임을 만들어보자 4 ] 삼각함수를 이용하여 조준 구현 (8) | 2024.10.09 |
[ Unity 뱀서라이크 게임을 만들어보자 3 ] 뛰어다니는 맵 구현 ( 타일맵 ) (0) | 2024.10.08 |
[ Unity 뱀서라이크 게임을 만들어보자 2 ] Input 그리고 이동 구현 (0) | 2024.10.08 |