pygame之倒计时实现

最近在用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()

运行结果

运行结果

猜你喜欢

转载自blog.csdn.net/Game_designer007/article/details/105318936