Lecture 도형 그리기
Views 198
• Comments 0
• Last Updated at 9 months ago
- 파이게임
파이게임에서 지원되는 도형
파이게임에서 지원하는 도형들
line
pygame.draw.line(surface, color, start, end, width=1)
- surface : 도형을 그릴 창
- color : 색
- start : 선 시작 점
- end : 선 끝 점
- width : 선의 굵기
import pygame from pygame.locals import * pygame.init() screen = pygame.display.set_mode((500,400)) clock = pygame.time.Clock() #p_img = pygame.image.load('tiger.bmp') #p_img = pygame.transform.scale(p_img, (100,100)) white = (255,255,255) black = (0,0,0) running = True left_key, right_key, up_key, down_key = False, False, False, False while running: clock.tick(120) for event in pygame.event.get(): if event.type == pygame.QUIT: running = False screen.fill(white) pygame.draw.line(screen,black,[50,100],[350,300],5) #screen.blit(p_img, (x,y)) pygame.display.update() pygame.quit()
lines
pygame.draw.lines(surface, color, closed, pointlist, width=1)
- surface : 도형을 그릴 창
- color : 색
- closed : 선들이 닫힌 도형을 만들면 True, 아니면 False
- pointlist : 점들의 리스트 [[ x1, y1] , [x2, y2], ... ]
- width : 선의 굵기
\# pg_draw_lines.py import pygame pygame.init() screen = pygame.display.set_mode((500,400)) clock = pygame.time.Clock() #p_img = pygame.image.load('tiger.bmp') #p_img = pygame.transform.scale(p_img, (100,100)) white = (255,255,255) black = (0,0,0) running = True while running: clock.tick(120) for event in pygame.event.get(): if event.type == pygame.QUIT: running = False screen.fill(white) pygame.draw.lines(screen,black,False,[[50,100],[150,100],[200,250],[250,150]],5) #screen.blit(p_img, (x,y)) pygame.display.flip() #pygame.display.update() pygame.quit()
polygon
pygame.draw.polygon(surface, color, pointlist, width=1)
- surface : 도형을 그릴 창
- color : 색
- pointlist : 선들의 [ 시작점, 끝 점 ] 의 리스트
- width : 선의 굵기, 0이거나 없으면 닫힌 도형안을 채워준다.
import pygame pygame.init() screen = pygame.display.set_mode((500,400)) clock = pygame.time.Clock() #p_img = pygame.image.load('tiger.bmp') #p_img = pygame.transform.scale(p_img, (100,100)) white = (255,255,255) black = (0,0,0) running = True while running: clock.tick(120) for event in pygame.event.get(): if event.type == pygame.QUIT: running = False screen.fill(white) pygame.draw.polygon(screen,black,[[50,50],[100,300],[150,350],[200,200],[180,30]],5) #screen.blit(p_img, (x,y)) pygame.display.flip() #pygame.display.update() pygame.quit()
rect
pygame.draw.rect(surface, color, rect, width=0)
- surface : 도형을 그릴 창
- color : 색
- rect : [ x, y, width, height ] 의 리스트
- width : 선의 굵기, 0이면 닫힌 도형안을 채워준다.
import pygame pygame.init() screen = pygame.display.set_mode((500,400)) clock = pygame.time.Clock() #p_img = pygame.image.load('tiger.bmp') #p_img = pygame.transform.scale(p_img, (100,100)) white = (255,255,255) black = (0,0,0) running = True while running: clock.tick(120) for event in pygame.event.get(): if event.type == pygame.QUIT: running = False screen.fill(white) pygame.draw.rect(screen,black,[10, 10, 100, 150], 10) pygame.display.flip() #pygame.display.update() pygame.quit()
circle
pygame.draw.circle(surface, color, pos, radius, width=0)
- surface : 도형을 그릴 창
- color : 색
- pos : 원의 중심점
- radius : 원의 반지름
- width : 선의 굵기, 0이면 닫힌 도형안을 채워준다.
import pygame pygame.init() screen = pygame.display.set_mode((500,400)) clock = pygame.time.Clock() white = (255,255,255) black = (0,0,0) running = True while running: clock.tick(120) for event in pygame.event.get(): if event.type == pygame.QUIT: running = False screen.fill(white) pygame.draw.circle(screen,black,[50, 50], 50, 5) pygame.display.flip() pygame.quit()
ellipse
pygame.draw.ellipse(surface, color, rect, width=0)
- surface : 도형을 그릴 창
- color : 색
- rect : [ x, y, width, height ] 의 사각형 안에 타원을 그려준다.
- width : 선의 굵기, 0이면 닫힌 도형안을 채워준다.
import pygame pygame.init() screen = pygame.display.set_mode((500,400)) clock = pygame.time.Clock() white = (255,255,255) black = (0,0,0) running = True rect = [50,50,200,100] while running: clock.tick(120) for event in pygame.event.get(): if event.type == pygame.QUIT: running = False screen.fill(white) pygame.draw.ellipse(screen,black, rect, 0) pygame.display.update() pygame.quit()
arc
pygame.draw.rect(surface, color, rect, start, end, width=1)
- surface : 도형을 그릴 창
- color : 색
- rect : [ x, y, width, height ] 의 리스트
- start : 시작 각도
- end : 끝 각도
- width : 선의 굵기
import pygame import numpy as np pygame.init() screen = pygame.display.set_mode((500,400)) clock = pygame.time.Clock() white = (255,255,255) black = (0,0,0) pi = np.pi running = True rect = [50,50,250,300] while running: clock.tick(120) for event in pygame.event.get(): if event.type == pygame.QUIT: running = False screen.fill(white) pygame.draw.rect(screen,black,rect,1) pygame.draw.arc(screen,black,rect, 0, 3*pi/2,3) pygame.display.update() pygame.quit()
aaline
pygame.draw.aaline(surface, color, start, end, blend = True)
- surface : 도형을 그릴 창
- color : 색
- start : 시작 점
- end : 끝 점
- blend : True, pygame 2.2부터는 True만 존재함.
import pygame import numpy as np pygame.init() screen = pygame.display.set_mode((500,400)) clock = pygame.time.Clock() white = (255,255,255) black = (0,0,0) pi = np.pi running = True while running: clock.tick(120) for event in pygame.event.get(): if event.type == pygame.QUIT: running = False screen.fill(white) pygame.draw.line(screen,black,(50,50),(300,300)) pygame.draw.aaline(screen,black,(60,40),(350,250)) pygame.display.update() pygame.quit()
aalines
pygame.draw.aalines(surface, color, closed, [start, end] )
- surface : 도형을 그릴 창
- color : 색
- closed :
- start : 시작 점
- end : 끝 점
import pygame import numpy as np pygame.init() screen = pygame.display.set_mode((500,400)) clock = pygame.time.Clock() white = (255,255,255) black = (0,0,0) pi = np.pi running = True while running: clock.tick(120) for event in pygame.event.get(): if event.type == pygame.QUIT: running = False screen.fill(white) pygame.draw.line(screen,black,(50,50),(300,300)) pygame.draw.aalines(screen,black,True, [(60,40),(350,250)]) pygame.display.update() pygame.quit()
Login to write a comment.