스쿼시 게임
16978 단어 성장하다
문자 스쿼시 게임이란 무엇인가? 바로 문자로 스쿼시를 대체하는 것이다. 운동은 스쿼시와 똑같다. 이 효과를 실현하려면 주로 문자의 이동 그리기와 리셋을 해결한다. 바로 문자를 그리는 토대에서 문자를 이동하면 문자가 세로와 가로로 이동할 수 있다. 다음은 두 단락의 코드로 효과를 보여주고 각각 두 가지 방법을 사용한다.
import pygame,sys
import pygame.freetype
pygame.init()
size = width,height =600,400
speed=[1,1]
GOLD = 255,251,0
BLACK = 0,0,0
pos = [230,160]
screen = pygame.display.set_mode(size)
pygame.display.set_caption("Pygame ")
f1 = pygame.freetype.Font("C://Windows//Fonts//msyh.ttc",36)#
f1rect = f1.render_to(screen,(200,160)," , ",fgcolor=GOLD,size=50)
#f1surf,f1rect = f1.render(" , ",fgcolor=GOLD,size=50)
fps=300
fclock = pygame.time.Clock()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
if pos[0] < 0 or pos[0] + f1rect.width >width:
speed[0] = -speed[0]
if pos[1] < 0 or pos[1] +f1rect.height >height:
speed[1] = -speed[1]
pos[0] = pos[0] + speed[0]
pos[1] = pos[1] + speed[1]
screen.fill(BLACK)
f1rect = f1.render_to(screen,pos," , ",fgcolor=GOLD,size=50)
#screen.blit(f1surf,(200,160))#
pygame.display.update()
fclock.tick(fps)
이 코드는render 라이브러리의 방법을 사용하여 메인 화면에 직접 텍스트를 그리거나 메인 층에 직접 그립니다. 우리가 그린 텍스트를 새로 고침 화면 뒤에 써야 합니다. 이 두 순서는 틀리면 안 됩니다.
다음과 같은 효과를 얻기 위해 다른 방법을 사용합니다.
import pygame,sys
import pygame.freetype
pygame.init()
size = width,height =600,400
speed=[1,1]
GOLD = 255,251,0
BLACK = 0,0,0
pos = [230,160]
screen = pygame.display.set_mode(size)
pygame.display.set_caption("Pygame ")
f1 = pygame.freetype.Font("C://Windows//Fonts//msyh.ttc",36)#
#f1rect = f1.render_to(screen,(230,160)," , ",fgcolor=GOLD,size=50)
f1surf,f1rect = f1.render(" ",fgcolor=GOLD,size=50)
fps=300
fclock = pygame.time.Clock()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
if pos[0] < 0 or pos[0] + f1rect.width >width:
speed[0] = -speed[0]
if pos[1] < 0 or pos[1] +f1rect.height >height:
speed[1] = -speed[1]
pos[0] = pos[0] + speed[0]
pos[1] = pos[1] + speed[1]
screen.fill(BLACK)
f1surf,f1rect = f1.render(" ",fgcolor=GOLD,size=50)
#f1rect = f1.render_to(screen,pos," , ",fgcolor=GOLD,size=50)
#screen.blit(f1surf,(200,160))#
screen.blit(f1surf,(pos[0],pos[1]))
pygame.display.update()
fclock.tick(fps)
여러분 이 두 코드에 그런 차이가 있는지 비교해 보세요!(사실 모두 #로 표시해놨어 헤헤)