Lecture 텍스트 모듈
Lecture
• Views 39
• Comments 0
• Last Updated at 1 day ago
- 글자 쓰기
폰트 모듈 함수
메소드 | 설명 | 메소드 | 설명 | |
---|---|---|---|---|
pygame.font.init | 폰트 모듈 초기화 | pygame.font.quit | 폰트 모듈 해제 | |
pygame.font.get_init | 폰트 모듈이 초기화되면 참반환 | pygame.font.get_default_font | 기본 글꼴 반환 | |
pygame.font.get_fonts | 사용가능 글꼴 반환 | pygame.font.match_font | 특정 글꼴 찾기 | |
pygame.font.SysFont | 시스템 글꼴 객체 생성 | pygame.font.Font | 폰트 객체 생성 | |
pygame.font.render | 화면에 텍스트 그리기 | pygame.font.Font_size | 폰트 크기 설정 | |
pygame.font.Font.set_underline | 텍스트 밑줄 표시 여부 설정 | pygame.font.Font.get_underline | 텍스트에 밑줄이 표시되는지 여부 반환 | |
pygame.font.Font.set_bold | 텍스트를 굵게 표시 | pygame.font.Font.get_bold | 텍스트가 굵게 표시되는지 여부 확인 | |
pygame.font.Font.set_italic | 텍스트 기울임꼴로 표시 | pygame.font.Font.get_italic | 텍스트가 기울임 꼴인지 여부 확인 | |
pygame.font.Font.get_linesize | 줄간격 크기 반환 | pygame.font.Font.get_height | 글꼴 높이 반환 | |
pygame.font.Font.get_ascent | 글꼴 크기 늘림 | pygame.font.Font.get_descent | 글꼴 크기 줄임 |
텍스트 표시
텍스트를 표시하려면 다음의 7단계를 거쳐야 한다.
화면 객체 생성
screen = pygame.display.set_mode((640,480))
Font 객체 생성
dispFont = pygame.font.SysFont('Cambria', 72)
render()메소드를 사용하여 텍스트가 그려지는 표면 객체 생성
dispText = dispFont.render('Text 표시',True,(0,0,255))
get_rect()메소드를 사용하여 텍스트 표면 객체에 대한 rect객체 생성
dispTextRect = dispText.get_rect( )
center속성 값을 설정하여 rect객체의 위치 설정
dispTextRect.center = (x위치, y위치)
blit()메소드를 사용하여 텍스트 표면 객체를 표시
screen.blit(dispTextRect,(x위치, y위치))
display.update()메소드를 사용하여 게임 창에 표시.
pygame.display.update()
예제
import pygame
pygame.init( )
screen_Width = 640
screen_Height = 480
screen = pygame.display.set_mode((screen_Width, screen_Height))
GREEN = ( 0, 255, 0)
clock= pygame.time.Clock()
running = True
dispFont = pygame.font.SysFont('Cambria', 72)
dispText = dispFont.render('텍스트 표시', True, (0, 128, 0), GREEN)
dispTextRect = dispText.get_rect( )
dispTextRect.center = (screen_Width // 2, screen_Height // 2)
while running:
clock.tick(10)
for event in pygame.event.get( ):
if event.type == pygame.QUIT:
running = False
screen.fill((255, 255, 255))
screen.blit(dispText, (screen_ Width //2 - dispText.get_width() // 2, screen_Height // 3 - dispText.get_height()// 2))
pygame.display.update()
pygame.display.quit()
한글 가능 폰트
import pygame
pygame.init( )
screen_Width = 640
screen_Height = 480
screen = pygame.display.set_mode((screen_Width, screen_Height))
GREEN = ( 0, 255, 0)
clock= pygame.time.Clock()
running = True
fontType = pygame.font.get_fonts()
result = []
i = 0
f = open('result.txt','w',encoding='utf-8')
while i < len(fontType):
try:
dispFont = pygame.font.SysFont(fontType[i], 72)
running = True
except:
running = False
s = fontType[i]
print(str(i) + f'{s}')
i = i + 1
while running:
clock.tick(10)
dispText = dispFont.render('텍스트 표시', True, (0, 128, 0), GREEN)
dispTextRect = dispText.get_rect( )
dispTextRect.center = (screen_Width // 2, screen_Height // 2)
for event in pygame.event.get( ):
if event.type == pygame.QUIT:
running = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
result.append(f'{fontType[i]} : 가능')
print(f'{fontType[i]} : 가능')
running = False
i = i + 1
if keys[pygame.K_RIGHT]:
print(f'{fontType[i]} : 불가능')
running = False
i = i + 1
screen.fill((255, 255, 255))
screen.blit(dispText, (screen_Width //2 - dispText.get_width() // 2, screen_Height // 3 - dispText.get_height()// 2))
pygame.display.update()
for i in result:
f.write(i+'\n')
f.close()
pygame.display.quit()
폰트 | 폰트 | 폰트 | 폰트 |
---|---|---|---|
malgungothic | malgungothicsemilight | microsofthimalaya | batang |
batangche | gungsuh | gungsuhche | gulim |
gulimche | dotum | dotumche | holomdl2assets |
hcrdotum | hcrdotumext | hcrbatang | hancomgothic |
hancomgothicregular | hansantteutdotumregular | hansantteutdotum | 한컴말랑말랑 |
한컴말랑말랑regular | 한컴훈민정음세로쓰기 | amir | headliner |
yetr | magicr | moeumtr | expom |
hygraphicmedium | hygungsobold | hygothicextra | hymyeongjoextra |
hyheadlinemedium | hygothicmedium | hypmokgakbold | hysinmyeongjomedium |
hyshortsamulmedium | hypostlight | hypostmedium | newgulim |
pyunjir | 나눔바른고딕 |
previous article
last article
Login to write a comment.