使用python2.7和pygame制作文本和图像闪烁项目

时间:2017-06-10 07:03:13

标签: python python-2.7 pygame

我正在使用python2.7和pygame为学校开展艺术项目。

我想要实现的效果是将矩形容器分散在屏幕上的随机位置。每个都包含显示,同时迭代字符列表(例如a到z,或其他语言的字母)或图像列表。

我是编程新手,到目前为止我已经想出如何使用pygame的字体和图像来显示图像和文本,但我真的迷失在“更新”部分。

说我正在遍历一个到z,并希望将它显示在同一个容器中,通过a到z闪烁,我应该把它放在主循环中的哪个或者如何?

import pygame
from string import ascii_lowercase

pygame.init()
width=4096
height=2160

testSize = 3

bgR = 0   # background red
bgG = 0   # background green
bgB = 0   # background Blue

screen = pygame.display.set_mode( ( width/testSize, height/testSize) )
imageContainer = pygame.image.load("images/westernEmoji/aaa.jpg").convert()
fpsClock = pygame.time.Clock()

imageX= 200/testSize; # x coordnate of image
imageY= 30/testSize; # y coordinate of image
running = True

# background color
black = ( bgR , bgG , bgB)

# text Container
textX= 100/testSize
textY= 100/testSize

font = pygame.font.SysFont("comicsansms", 72/testSize)
for contentA in ascii_lowercase:
    textContainer = font.render(contentA, True, (0, 128, 0))


# main while loop
while (running): # loop listeneint for end of game

    # imageContainer
    # imageX -= 20 ; #move image
    screen.fill(black) # clear screen 
    screen.blit(imageContainer , (imageX, imageY) ) # paint to screen
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        if event.type == pygame.MOUSEBUTTONDOWN:
            # Set the x, y postions of the mouse click
            x, y = event.pos

    # fontContainer
    screen.fill(black) # clear screen 
    screen.blit(textContainer,(textX, textY))


    pygame.display.update()
    fpsClock.tick(30)

#loop over, quite pygame
pygame.quit()

1 个答案:

答案 0 :(得分:0)

这是一个解决方案(对于来自az的字母):将字母存储在列表或其他容器中(我只是在这里使用string.ascii_lowercase),然后经过一段时间间隔或任意数量的帧增加索引,模数通过容器的长度(以保持索引在正确的范围内),然后重新渲染字体,然后只返回返回的表面。

AnchorPane.setBottomAnchor(loginButton, 0.0);