본문 바로가기
프로그래밍/게임 개발

프로그래밍 「 게임 개발 편」2D 플랫포머: 게임에서 스프라이트를 뒤집는 방법

by grapedoukan 2023. 7. 4.
728x90

목표: 방향을 바꿀 때 캐릭터 스프라이트를 뒤집습니다.

방향을 바꿀 때 캐릭터가 방향을 바꾸고 좌우를 향하게 하려면 스크립트에서 이 작업을 수행해야 합니다.

첫째, 우리가 해야 할 일은 X의 배율을 -1로 변경하는 것뿐이며 반대 방향으로 뒤집힐 것이라는 점을 이해하는 것이 중요합니다. 이제 코드에서 수행해 보겠습니다.

따라서 기본적으로 플레이어가 왼쪽 키를 누르면 vector3이 0보다 작아지고 오른쪽 키를 누르면 왼쪽이 음수이고 오른쪽이 양수이기 때문에 0보다 커집니다.

조건이 충족되면 스프라이트 x.scale이 변경되고 뒤집힙니다.

지금 당장은 이것이 최소한의 것입니다. 성능을 절약하려면 프로그램이 지금처럼 매 프레임마다 이 인스턴스를 실행하지 않도록 bool을 만들고 싶습니다.

또한 SpriteFlip이라는 새 메서드를 만들어 스크립트를 단순화하려고 합니다.

이것이하는 일은 현재 스케일을 잡는 것이고 X에 -1을 곱하여 매번 뒤집습니다. 그런 다음 위의 bool은 기본적으로 현재하고있는 것과 반대되는 작업을 수행한다고 명시하고 있습니다.

이제 플레이어가 오른쪽으로 움직이고 있고 아직 오른쪽을 향하고 있지 않으면 스프라이트가 오른쪽으로 뒤집힙니다.

그렇지 않으면 플레이어가 왼쪽으로 이동하고 플레이어가 오른쪽을 향하고 있으면 스프라이트가 왼쪽으로 뒤집힙니다.

뒤집기는 여기까지입니다! 거기에 애니메이션을 추가했으므로 지금 포함하겠습니다.

이제 이를 위해 _isFacingRight에 대해 별도의 if 문을 만들어야 했는데, 그 이유는 해당 프레임에 대한 실행 애니메이션만 생성하기 때문입니다. 그래서 저는 이것을 위해 두 개의 if 문을 만들어야했습니다.

728x90