
진행과제 : 회전발판과 움직이는 장애물
구현목표
구현설계 의사코드 : 회전하거나, 왕복하거나, 여러가지 패턴이 있는 발판들로 구성된 간단한 플랫폼 게임 만들기 플랫폼이 해야할 동작 하나하나 별로 클래스를 만들게 될 경우 불필요하게 많아질 수 있고 똑같은 동작을 하는 플랫폼이지만 스태틱 매쉬만 다른경우도 존재 하기 때문에 이를 고려하여 설계
구현설계
플랫폼의 케이스 종류
1. 위아래 왕복으로 움직이는 플랫폼
2. 좌우 왕복으로 움직이는 플랫폼
3. 크기가 커졋다 작아졋다 하는 플랫폼
4. 회전하는 플랫폼
5. 플레이어를 감지하면 작동하는 플랫폼
위 아래 왕복이나 좌 우 왕복의 로직을 생각해보면 if(이동한거리 > 100) 반대로 이동 정도로 구현 할 수 있기때문에 언리얼에서지원하는 리플렉션 매크로를 이용하여 인스턴스 화 된 객체에서 값을 수정할 수 있도록 코드를 구현해준다면 위 아래나 좌 우로 왕복하는 플랫폼은 하나의 엑터로 구현이 가능할거 같다고 생각.
왕복플랫폼
MoveDistance 이동한거리 선언 얼마만큼 이동후 반전할지 필요StartLocation 시작위치 선언 거리계산에 필요MoveSpeed 이동속도 선언
회전플랫폼
RotationSpeed 회전속도 선언


StaticMesh 컴포넌트의 경우 같은동작을 하는 엑터를 여러개 배치 할 경우의 수를 대비해 인스턴스상에서 수정이 가능하도록 매크로 선언MoveDistance 멤버변수 플랫폼마다 이동하는 거리를 다르게 설정해 줄 수 있게 EditAnywhere 선언MoveSpeed, RotationSpeed 멤버변수 플랫폼마다 이동하는 거리를 다르게 설정해 줄 수 있게 EditAnywhere 선언
같은 엑터지만 인스턴스상에서 스태틱매쉬 다르게 설정가능한것 확인
MovingFlatform
RotatingFlatform
테스트 성공 | 에디터 창에서 값을 수정할경우 두 엑터가 각각 다른값으로 움직이고 각각 다른 메쉬로 적용되는것 확인
