python study/import pygame 9

python)pygame, 마우스 처리, 클릭과 움직임 감지 및 좌표 얻어오기

pygame에서 키보드 및 마우스 처리는 기본적으로 2가지 방법이 있다.첫번째 방법은 pygame.event.get()의 타입을 인식하는 것, 두번째는 다른 변수에 기능을 하는 함수를 할당하는 방법이다.이 글에서는 마우스 처리에 대해 알아보자.이벤트상세pygame.MOUSEBUTTONUP마우스 버튼을 누름pygame.MOUSEBUTTONDOWN마우스 버튼을 땜pygame.MOUSEWHEEL마우스 휠 감지pygame.MOUSEMOTION마우스 움직임 감지1) pygame.event.get()import pygame,sysLIGHT_GRAY=(200,200,200);LBLUE=(0,192,255)BLUE=(0,0,255);RED=(255,0,0)BLACK=(0,0,0);GREEN=(0,255,0)screen..

python) pygame,키보드 처리(대소문자 처리) (2)

이전 글에서 Caps Lock키로 인해 대소문자 구분이 어렵다고 하였다. 그 이유는 실행시에 Caps Lock키가 켜져있는지 켜져있지 않은지를 알 수 없기에 이후에 누르는 Caps Lock키를 %2해서 판별한다고 해도 반대로 판별할 가능성이 있기 때문이다.이번 글에서는 이 Caps Lock키가 켜져있는지 꺼져있는지 판별하는 것을 포함하여 pygame에서 대소문자 구분 방법에 대해 정확히 다루어보려한다. 이를 시용하는 예는 코드 실행 중에 퍼즐을 위한 문장 등을 입력 할 수도 있기 때문이라고 생각한다. import pygame만 사용하여 Caps Lock키를 판별하면 생기는 문제점import pygame,sysLIGHT_GRAY=(200,200,200)LIGHT_MOSS_GREEN=(143,188,143)..

python) pygame,키보드 처리 (1)

pygame에서 키보드 및 마우스 처리는 기본적으로 2가지 방법이 있다.첫번째 방법은 pygame.event.get()의 타입을 인식하는 것, 두번째는 다른 변수에 기능을 하는 함수를 할당하는 방법이다.이 글에서는 키보드 처리에 대해 알아보겠다.공통) 키보드 상수키상수Function 키 (Fm/m=숫자)K_F1~K_F12숫자 키 (0~9)K_0~K_9알파벳 키 (A~Z && a~z)K_a~K_z( 대소문자 판별하지 못함)Esc 키 (ESC)K_ESCAPE` 키(백틱 키)pygame.K_BACKQUOTE- 키pygame.K_MINUS+ 키pygame.K_PLUS| 키pygame.K_BACKSLASHBackspace 키pygame.K_BACKSPACETab 키pygame.K_TAB{ 키pygame.K_LEF..

python)pygame, font(+개행문자 문제 해결 방법) 텍스트 띄우기(2)

번외1) font.size()주어진 문자열이 특정 폰트로 렌더링될 때 차지하는 두 변수인 가로와 세로 크기를 반환한다.width, height = font.size(String)width: 텍스트의 가로 길이 (픽셀 단위)height: 텍스트의 세로 길이 (픽셀 단위)만약 세로 크기 변수만 쓰고 가로 크기 변수를 안쓴다면 _, height = font.size(String) 이런식으로 _를 써서변수가 사용되지 않을 것을 보여주자.번외2) pygame은 개행문자가 적용이 안된다?pygame에서 font의 특징이 매우 큰 하나 있는데 개행문자(\n)가 적용이 안된다는 점이다. 즉, 줄바꿈이 안된다.이는 이전 글에서 '안녕, pygame\n'을 출력했는데도 ▯가 나오는 것을 통해 알 수 있다.(이는 pygam..

python)pygame, font(+한글 띄우기) 텍스트 띄우기(1)

pygame에서 font는 텍스트를 화면에 렌더링하는 데 사용되는 기능이다.기본적인 순서는 pygame.font.Font로 글꼴 및 크기를 설정하고 render()로 텍스트를 로드, blit로 화면에 표시한다.1) pygame.font.Font VS pygame.font.SysFont  pygame.font.Fontpygame.font.SysFont사용 방법pygame.font.Font(font,size)pygame.font.SysFont font,size,bold=False,italic=False)폰트 사용 방식폰트 파일 경로에서 가져옴시스템 폰트 사용(system font)굵기 및 기울이기불가능가능함수의 인수2개(font,size)2~4개(font,size,bold,italic)내가 다운로드한 폰트를..

python)pygame에서 동적 그림 처리, 제대로 이해하기

pygame에서 단순히 창을 띄우는 것이 목적이 아닌 엄밀히 game이기에 동적인 것을 구현하려 할 것이다.이번 글에서는 움직이는 그림에 대한 처리에 대해 다룬다.1) 화면 갱신( pygame.display.update() )#플레이어가 WASD를 누르면 그 방향으로 움직이는 예제import pygameimport sysBLACK=(0,0,0)screenw,screenh,FPS=700,700,80PLAYER_SIZE=(60,60)def create_player(image_path, initial_position): player_image = pygame.transform.scale(pygame.image.load(image_path), PLAYER_SIZE) player_rect = playe..

python)pygame에서 그림이 그려지는 순서, 제대로 이해하기

pygame은 스크린에 뭔가를 그리는 함수가 매우 다양하다.대표적으로 많이 사용하는 것은 pygame.draw류에 속하는 함수나 blit,fill 등을 사용하여 사진 등을 띄우는데에 사용한다.그리기 순서 예를 이해하기 위한 코드 예시import pygameimport sysWHITE=(255,255,255);RED=(255,0,0)BLUE=(0,0,255);GREEN=(0,255,0)screenw,screenh=300,300def main(): pygame.init() screen=pygame.display.set_mode((screenw,screenh)) pygame.display.set_caption("drawing order ex") while True: for e..

python)pygame 좌표계의 특성과 컴퓨터 화면 스캔 방식 이해

pygame의 좌표는 우리가 아는 데카르트 좌표계 체제와는 다른 체제를 가진다.pygame 좌표계는 데카르트 좌표계를 x축 대칭한 모양이며, 이에 따라 각도도 다르게 인식한다. 만약 그림에서 데카르트 좌표계에서 Θ가 50º라면, pygame 좌표계는 310º 즉, 데카르트 좌표계와 비교하여 𝝿- Θ의 값을 가지는 것이다.(pygame에서 각도는 라디안 단위로 지정함.)좌표의 경우 스크린 안의 가로 세로를 각각 screenw,screenh라할때에, 스크린의 왼쪽 위 모서리가 0,0이다. pygame.display.set_mode((screenw, screenh))으로 설정하게 되는 (screenw,screenh) 위치가 스크린의 오른쪽 아래 모서리가 되는 것이다.데카르트 좌표계를 x축 대칭한 모양이기 때..

python) pygame 도형 그리기 모음

공통)screen: 표시할 화면color: 표시할 도형 및 선의 색상 / tuple (R,G,B)로 지정 width(기본값은 1(안써도 됨)): 선의 두께를 나타내는 값으로 고정 값임 outline_width(기본값은 0(안써도 됨)): 테두리의 두께를 나타내는 값으로 0이면 주어진 color로 사각형 내부를 채운 형태가 되고  outline_width>0이면 그 크기만큼 외각선이 color 색상으로 나타남 1) 선pygame.draw.line(screen,color,start_pos,end_pos,width=1)start_pos: [x1,y1]라고 하면 시작점end_pos: [x2,y2]라고 하면 끝점 2) 여러 선pygame.draw.lines(screen,color,closed,poslist,wid..