일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 부산광역시
- 타인의
- 글쓰기
- 파이썬 기초
- 공간밀도
- 사법
- 과학의과학
- 파이썬
- 네트워크
- 주요일간지
- pygame
- 연구하며
- 사회
- 점프
- 사회이슈
- 응답하는
- Latent Dirichlet Allocation
- 사법부
- 지금 다시
- 사회면
- 횡스크롤
- 공부
- 고통에
- python
- 파이게임
- LDA
- 맵
- 지금다시헌법
- 헌법
- 정치
- Today
- Total
RoNS 님의 블로그
[Pygame(파이게임)] 그림판 본문
이제 플레이어가 활동할 맵이나, 플레이어의 모습을 만들 것이다.
이것은 " screen.blit(image, (x, y)) " 형태로 임의로 가져온 이미지를 사용해도 되지만, 이왕 게임을 만드는 김에 모두 파이게임으로 만들고 싶었다.
때문에, 넘파이 행렬 형태로, 각 맵과 그 외(캐릭터, 배경)을 미리 만들고, 이후에 게임에 삽입하는 과정을 거칠 것이다.
이 글에서는 아래와 같은 파이게임 화면에서 맵을 (또 다른 파이게임 화면에서) 만들 수 있다는 것만 간단히 소개만 하려고 한다.
그림판은 아래에서 직접 실행해 볼 수 있다! (검은 화면(로딩)이 20초정도 걸릴 수 있다)
오른쪽 상자 각 역할 설명
- 첫번째 박스: 펜 굵기 설정
- 두번째 박스: 색 설정 (원 왼쪽의 버튼으로 RGB값을 10씩 세부적으로 조절 가능)
- ex) 갈색(155, 80, 0) 만들기: 1. 빨간 원 클릭 (255,0,0) 2. 빨간 원 왼쪽의 두번째 버튼 10번 클릭 (155,0,0) 3. 파란 원 왼쪽의 첫번째 버튼 8번 클릭 (155,80,0)
- 세번째 박스: 스포이드 (한번 클릭 하고 화면의 색이 있는 위치 클릭)
- 네번째 박스: 리셋
이 코드에서 주요한 역할을 한 변수들은 다음과 같다.
pygame.MOUSEBUTTONDOWN # event.type
######################################
x, y = pygame.mouse.get_pos() # 마우스위치
######################################
pygame.mouse.get_pressed()[0] # 마우스 왼쪽 클릭
######################################
pygame.mouse.get_pressed()[2] # 마우스 오른쪽 클릭
pygame.MOUSEBUTTONDOWN 으로 마우스의 클릭을 인식할 수 있다. 이 이벤트가 발생했을때, 마우스의 위치에 따라 굵기 변경,색 변경,스포이드,리셋 을 각각 실행한다.
pygame.mouse.get_pos()로 색이 칠해질 칸의 위치를 알 수 있다. 넘파이 행렬에서 같은 위치의 행,열에 펜의 색 만큼을 저장하면 된다.
pygame.mouse.get_pressed()[0] 는 왼쪽 클릭을 의미한다. 왼쪽 클릭으로 색이 칠해지도록 했다.
pygame.mouse.get_pressed()[2] 는 오른쪽 클릭을 의미한다. 오른쪽 클릭으로 색이 지워지도록 했다.
(즉, 이 파이 게임에선 사용하지 않았지만 pygame.mouse.get_pressed()[1] 는 마우스 휠 클릭을 의미한다.)
다음 글에서는 그린 맵을 적용시켜 보자
'Pygame' 카테고리의 다른 글
[Pygame(파이게임)] 게임 맵 랜덤 생성 (1) | 2025.06.04 |
---|---|
[Pygame(파이게임)] 캐릭터와 맵 적용 (0) | 2025.05.15 |
[Pygame(파이게임)] 플레이어 움직이기3 (점프 강약 만들기) (0) | 2025.04.30 |
[Pygame(파이게임)] 플레이어 움직이기2 (점프 만들기) (0) | 2025.04.24 |
[Pygame(파이게임)] 플레이어 움직이기1 (상하좌우 이동) (1) | 2025.04.24 |