글
반응형
이번엔 오프사이드 체크를 하겠습니다!
일단 시간에 따라서 게임의 상태가 바뀌게 하기 위해서
새로운 스크립트를 작성합니다.
그리고 돌아갈 타이머/ 게임 시작 시간/ 패스 시간을 작성해주고
업데이트에서 이게 계속 돌아가도록 해주죠.
심판과 플레이어 스크립트에 상태를 선언하고 받아줄 변수를 작성하고
업데이트에서 시간에 따라 변하는 상황을 받아옵니다.
그리고 상황이 변하면 선수들의 상태도 변하도록 하죠.
심판은 선수에서 받아옵니다.
시간 체크하는 스크립트는 시작과 패스만 있기 때문이죠.
오프사이드 확인을 위해 라인이라는 것을 작성해주고,
선수와 볼 오브젝트를 받을 트랜스폼도 선언해줍니다.
라인은 두개의 x축을 계산한 것이며, 공이 선수보다 앞서는,
+가되면 게임 상태가 진행에서 오프사이드 선택 상태가 되도록 합니다.
추가로 상대 수비 선수들의 위치도 받을 수 있도록 해주며
오프사이드 라인을 계산하는 변수도 작성해줍니다.
또한, 해당 상황이 오프사이드인지 판별하는 변수도 작성.
라인을 계속 계산하도록 해줍니다.
플레이어의 위치가 + 즉, 앞선 상황에서 패스가 이루어졌다면
오프사이드(1)가 되도록 하며, 아닐 경우에는 오프사이드 아님(2)이 되도록 합니다.
이러고보니 문제는 속도가 계속해서 바뀌더군요.
패스하는 순간까지.
그래서 따로 속도 값을 작성해주고
시작에서 이것이 선언된 뒤
플레이 상황에서만 속도값을 받도록 작성해줍니다.
이러면 얼추 오프사이드 판별과 각 상황에 맞춰서
플레이 상태가 바뀌게 됩니다.
물론 이후에 이야기지만 작은 오류가 있지만....
그건 나중에~
반응형
'게임에 대한 이런저런 생각 > 하루 30분 기획' 카테고리의 다른 글
[Offside check] 05. 메인 화면 제작 (0) | 2017.02.16 |
---|---|
[Offside check] 04. 점수 체크 및 오류 수정 (0) | 2017.02.15 |
[Offside check] 02. 선수 이동 (0) | 2017.02.13 |
[Offside check] 01. 선수와 부심 제작 (0) | 2017.02.10 |
[Offside check] 00.이번엔 판정 게임!! (0) | 2017.02.09 |