<오늘 진행할 일>
어제의 문제점 고치기
근접무기 클래스 나누기
<오늘의 공부>
1. 좌표가 이상하다면 해당 오브젝트의 Transform값을 인스펙터창에서 먼저 확인해보자.
2. abstract : 추상 코루틴
: 현재 이 함수는 필요하지만 내(부모 클래스)가 만들지는 않을것이니 자식 클래스에서 완성시켜라
필요한 기능이지만 내용이 각기 다를 때 상속받은 자식클래스에서 완성시키도록 하게 만듦 == 미완성
protected abstract IEnumerator IncompleCoroutine();
미완성인 함수가 있기 때문에 클래스 자체도 미완성인 클래스가 되버린다.
미완성인 클래스임을 알려주기 위해 클래스 앞에도 abstract가 붙어야 한다.
public abstract class IncompleClass : MonoBehaviour
미완성 클래스이기에 오브젝트에 컴포넌트로 추가 할 수가 없다.
└> Update가 실행이 되지 않는다.
3. virtual : 가상 함수
: 완성 함수이지만 추가 편집이 가능한 함수
/*부모 클래스에 있는 함수*/
public virtual void VirtualFunction(bool isTure)
{
···(내용)
}
/*자식 클래스에 있는 함수*/
public override void VirtualFunction(bool isTure)
{
//부모 클래스에 있는 가상 함수의 내용을 호출 하는 것
base.VirtualFunction(isTure);
···(추가 내용)
}
<오늘 진행한 일>
1. 어제 무기 흔들림에 있어 Y축 문제 고치기
: 알고보니 게임오브젝트의 Transform의 좌표가 (0,0,0)이 아닌 (0,-1,0)이어서 생긴 문제였습니다.
마우스가 움직일때 마다 현재좌표가 움직이는데 이것이 (0,0,0)이 아니었기에 Y값이 0값 중점으로 (0 ± 마우스 움직임) 이동되서 생긴 문제였기에 오브젝트의 Transform을 (0,0,0)으로 옮기고, 부모 오브젝트의 Transform값이 옮겨졌기에 자식 오브젝트의 Transform값을 있어야할 위치로 수정하였습니다.
2. 근접 무기의 다양성을 위해 클래스 나누기
: 맨손 이외에 도끼, 곡괭이 같은 다양한 근접 무기를 사용함에 있어, 공통적인 부분은 근접무기 클래스로 빼내어 각 손, 도끼 등의 클래스에게 상속시켜 사용되도록 만들었습니다.
부모 클래스인 근접무기 클래스는 추상클래스로하여 각 무기 스크립트의 기능에 맞게 오버라이드 되도록 구현했습니다.
- 참고영상 케이디의 유튜브
https://www.youtube.com/playlist?list=PLUZ5gNInsv_Nzex8Cvxce_1zjUf0cNWY9
'수업 > Unity 2주 프로젝트 및 공부' 카테고리의 다른 글
Unity 프로젝트 및 공부 11일차 (0) | 2019.06.14 |
---|---|
Unity 프로젝트 및 공부 10일차 (0) | 2019.06.13 |
Unity 프로젝트 및 공부 8일차 (0) | 2019.06.11 |
Unity 프로젝트 및 공부 7일차 (0) | 2019.06.10 |
Unity 프로젝트 및 공부 5일차 (0) | 2019.06.08 |