티스토리 뷰

지난 시간까지는 파이썬의 파이 게임을 이용해서 기본 함수들을 다루어봤다. 이번 시간에는 파이 게임을 이용해서 프로젝트인 팡 게임을 만들어보자!

 

2022.08.14 - [코딩] - 파이썬 게임만들기 5탄, 게임 기본 프레임 만들기

 

파이썬 게임만들기 pygame 1탄

파이썬 게임만들기 2탄 배경넣기

파이썬 게임만들기 3탄, 캐릭터 움직이기

파이썬 게임만들기 4탄, 충돌처리하기

파이썬 게임만들기 5탄, 게임 기본 프레임만들기

파이썬 게임만들기 6탄, 무기 만드는 방법

파이썬 게임만들기 7탄, 장애물 이동하기

파이썬 게임만들기 8탄, 무기와 장애물의 충돌처리

파이썬 게임만들기 9탄, 종료하기

 

프로젝트

팡 게임 만들기



  1. 배경 캐릭터 등 프레임 만들기

 

각종 이미지를 그림판을 통해서 만들어 보세요

혹은 선생님 카페에서 다운로드하여서 같은 폴더에 저장하세요. 



8 우선 스크린의 크기를 아까에서 수정해준다. 

13 제목을 나도 앞으로 바꿔준다. 

 

20 배경 이미지를 넣을 때 절대 경로를 했는데 다른 방식으로 해본다

현재 위치를 커런트 패스라는 변수를  만들고  1에서 os를 임포트 해와서 사용한다

오에스. 패스. 디얼 내임(파일)은 현재 파일 위치를 반환해주는 것이다. 그럼 이미지와 현재 파일의 위치가 같아 지기 때문에 파일을 복사 같이 옮겨도 가지고 오는데 문제가 없다. 

 

21 이미지 패스 변수에 현재 파일의 위치에 있는 이미 지즈라는 폴더의 주소를 넣어준다. 

앞으로 주소를 넣을 때 그럼 이미지 패스를 입력해주면 된다.

 

24 그럼 배경을 만들 때 이미지를 로드해올 때 절대 주소를 넣는 것이 아니고, 현재 파일이 있는 위치의 이미 지즈라는 폴더에 파일명은 백그라운드를 로드해라 라는 표현이다.

 

27 배경 위에 스테이지가 있어서 그위에서  캐릭터가 움직일 것이다.

스테이지는 사이즈 정보를 넣어준다. 

그리고 높이만 정의해준다. 왜냐면 그 스테이지 위에서 움직이게 하려고 하기 때문이다 또는 

그 높이에서 공을 튕기게 하려고 한다. 



32 캐릭터의 위치를 엑스 좌표는 중앙에 위치한다 와이 좌표는 스테이지 위에 위치시킨다.

 

그리고 이제 블릿 함수를 이용해서 스테이지를 그려준다. 

54 스테이지의 높이는 전체에서 스테이지 높이만큼 빼 준다.

55 캐릭터도 그려준다.




  1. 무기와 키보드 이벤트 정하기

 

40 43 캐릭터 이동하기 위한 기본 설정으로 똥 피하기에서 하던 대로 한다.

즉 이동방향으로 해서 투엑스는 0으로 해두고 이동속도를 5로 해서 이동방향에 속도를 더해준다. 그리고 그 더한 값을 엑스 포스에 더해줘서 위치를 변화시키는 것을 업데이트시킨다. 그러다가 키보드를 떼어내면 즉업이되면 투엑스에 저장된 5나 -5가 0이 되면서 엑스 소 포즈에 투엑스가 0이 더해지면서 이동하지 않게 되는 것

 

65 앞에서 한 것처럼 오른쪽 왼쪽만 해주면 된다.



 

80 캐릭터 위치를 캐릭터가 화면 밖으로 안나가게 해준다. 

 

무기 만들기 

무기는 캐릭터 이동속도 아래에 새로 만들어 준다. 

그리고 무기 이미지를 불러온다. 

 

46 무기의 이미지를 불러오고 넓이만 우선 설정해준다. 

이동하는 것을 만들 때는 갯 렉스로 해서 사이즈 가지고 온다. 

 

50 무기는 여러 개를 만들 수 있게 하기 위해서 리스트로 관리한다.

54 무기 스피드는 캐릭터보다 조금 빠르게 해 준다.

70 스페이스를 누르면 무기 발사에 대한 것을 설정해준다 

무기 발사되는 위치는 캐릭터의 중앙에서 나와야 하기 때문에 캐릭터 위치에서 캐릭터 넓이의 반을 더하고 무기 넓이의 반을 빼준다.

 

72 무기의 와이 좌표는 플레이어의 머리 위에서 나온다고 한다. 그렇기 때문에 캐릭터의 와이 좌표값과 같다. 

 

73 웨폰스 리스트에 무기의 엑스 좌표와 와이 좌표를 저장해서 리스트에 추가한다.

그래야지 여러 번을 쐈을때 여러 개가 나올 수 있고 사라질 수도 있기 때문이다.