>백엔드 개발 >파이썬 튜토리얼 >파이게임 애니메이션 스프라이트 시트

파이게임 애니메이션 스프라이트 시트

WBOY
WBOY앞으로
2024-02-12 08:12:04685검색

파이게임 애니메이션 스프라이트 시트

질문 내용

스프라이트 시트를 사용하여 파이게임에서 하향식 RPG를 만들고 싶습니다.

예를 들어, 스페이스바를 눌러 공격하면 공격 애니메이션이 실행된 다음 정상으로 돌아갈 수 있기를 원합니다

으아아아

위 코드는 제가 가지고 있는 코드입니다. 스페이스바를 한 번 누르면 애니메이션이 진행된 후 중지되지만, 스페이스바를 두 번 누르면 프로그래밍 방식 때문에 반복됩니다.

애니메이션 관련 도움이 필요합니다. 감사합니다


정답


문제는 스페이스를 두 번째로 눌렀을 때 다음 호출로 인해 발생합니다.

으아아아

이렇게 하면 "이전" 및 "현재" 상태가 "공격"으로 설정됩니다. 결과적으로 animate_attack() 메소드에서 상태가 재설정되면, "공격"으로 유지됩니다:

으아아아

빠른 수정으로 아직 설정되지 않은 경우에만 상태를 변경하세요.

으아아아

더 나은 수정으로 상태를 캡슐화해야 합니다. 이렇게 하면 플레이어 클래스만 자체 상태를 처리할 수 있습니다. 예를 들면 다음과 같습니다.

으아아아

이렇게 하면 클래스 외부의 상태를 알 필요가 없습니다.

으아아아

위 내용은 파이게임 애니메이션 스프라이트 시트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제