2022. 7. 3. 17:05ㆍ코딩/- Project: pygame
https://sdcoding.tistory.com/60
저번에 쓴 글과 이어지는 내용이다.
enemy 라는 객체를 추가했다.
enemy 객체는 기존 character 의 코드를 그대로 따와서 만들었다. 수정한 값은 position 좌표값 정도다.
또한 충돌 처리를 위해 character와 enemy의 rect 정보를 업데이트한다.
그리고 두 객체가 충돌한다는 가정인 colliderect 함수를 이용해, 이벤트 발생 시 게임이 종료되도록 한다. (running 상태값을 False로 치환하면 간단하다.)
또한 FPS 개념을 추가해줬다. # clock = pygame.time.Clock()
FPS는 frame per second의 약자로 말그대로 초당 프레임 수다.
초당 프레임 수가 올라가면 출력이 더욱 부드러워진다.
여기서 dt = clock.tick(60), dt값을 정의해주고
dt값을 캐릭터 포지션 내 변수 값으로 지정해주면서,
어느 프레임에서든지 캐릭터의 속도가 일정해짐을 알 수 있다.
타이머를 표시해주기 위해 timer 변수를 지정해줬는데, python은 기본 출력단위가 ms단위라 보기 편하게 1000을 나눠줌으로서 초단위로 바꿔주었다. 그리고 이를 int값으로 받으면서 정수만 표출되게 하고, 또 이를 str로 받으며 render 함수의 변수로 쓰일 수 있게 하였다. 할 때는 몰랐는데 쓰다보니 복잡해지네.. 이후 타이머가 0이 될 시에 게임 종료 기능을 만들었다.
'코딩 > - Project: pygame' 카테고리의 다른 글
Python) 골드 마이너 게임 만들어보기 (1) (pygame frame 이용) (0) | 2022.07.06 |
---|---|
Python) 침팬지 게임 만들어보기 (pygame frame 이용) (0) | 2022.07.05 |
Python) 팡게임(Pang Game) 만들어보기 (pygame frame 이용) (0) | 2022.07.04 |
Python) 똥 피하기 게임 만들기 (pygame frame 이용) (0) | 2022.07.03 |
Python) 파이 게임 틀 만들기 (프레임, 배경, 캐릭터, 키보드 설정) (0) | 2022.07.03 |