IT 대장간

게임만들기 - [1] 화면 프레임, 캐릭터, 배경 본문

Programing/Python

게임만들기 - [1] 화면 프레임, 캐릭터, 배경

태장장이 2021. 2. 25. 11:26

1.게임 만들어보기 (팡팡)

 

만들어보는 게임은 어릴 때 오락실에서 하던 팡팡.

(이미지 퀄리티까지 맞춰서 만들기엔 시간이 너무 소요되므로 패스)

바로 이 게임이다.

 

 

2.패키지 설치

콘솔창 입력 : pip install pygame

pip install pygame

 

3. 화면 프레임 생성

 

<빨간 박스 순서대로 설명>

 

1) 화면 크기와 관련된 변수를 생성 (단위 : 픽셀)

2) pygame 패키지 내 display.set_mode를 불러와 화면 프레임 값 적용

3) set_caption을 통해 게임 이름 지정

4) while : True 값 전달

: 별도 조작이 없을 시 게임이 꺼지지 않도록 설정 -> pygame.QUIT는 화면 우측 상단의 X(닫기)를 눌렀을 때를 말하며

해당 버튼 클릭 시 False값을 전달 -> 최하단 pygame.quit()를 통해 게임이 종료됨 

(이 코드가 없는 상태로 실행할 경우 게임창이 잠깐 켜졋다가 자동으로 꺼짐)

          

 

: 게임 화면 적용 (가로 480 pix, 세로 640 pix)

 

 

 

4. 배경 적용

 

1) pygame.image.load를 통해 경로를 지정하면 내가 생성한 백그라운드용 파일을 불러온다.

2) 배경의 경우 게임상에서 사라지면 안되는 요소이기 떄문에 while문 안에 적용

3) screen.blit 을 통해 background 변수에 담긴 이미지 파일을 적용, 배치할 좌표를 입력한다. (바로 윗줄 RGB 방식 有)

  (좌표의 경우 좌측상단에서 우측하단으로 쭉 그려진다고 보면 된다. 이해가 안될 경우 

  파워 포인트에서 사각형 도형을 선택하고 우측 대각선 하단으로 드래그해서 그려본다고 생각하면 쉬움)

4) pygame.display.update()를 반복문에 집어넣어 실시간으로 화면 갱신

 

: 배경 적용 완료

 

5. 캐릭터 배치

 

 

1)캐릭터 이미지 불러오기

- 배경과 마찬가지로 image.load를 불러와 character에 담기

- get_rect().size를 통해 이미지의 크기를 받아오기 

- character_size를 통해 사이즈 적용 (튜플형식인데 0 : 가로, 1 : 세로 이며, z축도 있을까해서 2를 입력해보았으나 인덱스 범위를 벗어난다고 오류가난다)

- character_x,y_pos라는 변수에 이전에 지정한 화면 상 좌표를 담아줌으로써 위치를 저장한다

 

: 캐릭터 y값을 지정할때 단순히 screen_height 값으로 줘버리면 프레임 맨 아랫 라인 밑으로 형성된다고 보면된다. 그래서 character의 y값 만큼 빼줘서 화면상에 노출될 수 있도록 설정한 것이며 x축 역시 이미지가 배치되는 지점이 좌측 상단이 기준점이기에 이미지의 절반만큼 빼준 것.

캐릭터 배치 중 사용된 screen



 

 

- 배경과 마찬가지로 while문안에 blit를 사용

( characker <로드된 이미지 파일>, 초기 배치할 x 좌표값,  y 좌표값)

 

 

:캐릭터 배치 완료(혼자 테스트니까..하하)

 

 

 

다음글에 이어서 계속