最近在用pygame这个模块进行游戏开发,进行到计时设计的时候,在网上找了很久都没找到自己想要的,然后只能自己瞎几把弄,终于弄出来了一个简陋的倒计时下面是源代码
import pygame
import time
def game_clock():
clock_ = 300
while True:
pygame.time.get_ticks()
if (pygame.time.get_ticks()%1000 == 0):
clock_ = clock_ - 1
clock_g = str(clock_)
gameDisplay.fill(white)
largeText = pygame.font.SysFont('comicsansms', 25)
TextSurf, TextRect = text_objects(clock_g, largeText)
TextRect.center = (750, (display_height / 10))
gameDisplay.blit(TextSurf, TextRect)
pygame.display.update()
clock.tick(15)
print(clock_)
其中用到text_object函数为从别的博客主中copy来的函数,用来创建在surface对象上的文本并设置颜色,返回这个文本和他的rect(rect用于确认位置和文本大小)
def text_objects(text, font):
textSurface = font.render(text, True, black)
# 在一个新 Surface 对象上绘制文本
return textSurface, textSurface.get_rect()
全部代码是
import pygame
pygame.init()
black = (0, 0, 0)
white = (255, 255, 255)
display_width = 800
display_height = 600
gameDisplay = pygame.display.set_mode((display_width, display_height))
clock = pygame.time.Clock()
def text_objects(text, font):
textSurface = font.render(text, True, black)
# 在一个新 Surface 对象上绘制文本
return textSurface, textSurface.get_rect()
def game_clock():
clock_ = 300
while True:
pygame.time.get_ticks()
if (pygame.time.get_ticks()%1000 == 0):
clock_ = clock_ - 1
clock_g = str(clock_)
gameDisplay.fill(white)
largeText = pygame.font.SysFont('comicsansms', 25)
TextSurf, TextRect = text_objects(clock_g, largeText)
TextRect.center = (750, (display_height / 10))
gameDisplay.blit(TextSurf, TextRect)
pygame.display.update()
clock.tick(15)
print(clock_)
game_clock()
运行结果