我试图让对话框一次出现一个字符(就像口袋妖怪游戏和其他类似的一样)。
我在互联网上搜索过但未找到任何有用的信息。
我知道这样问的另一个问题,但它并没有解决我想要做的事情。我知道这可以做到,因为我已经看过使用python制作的游戏已经完成了。
答案 0 :(得分:2)
import pygame, sys
from pygame.locals import *
WINDOW_WIDTH = 500
WINDOW_HEIGHT = 500
pygame.init()
DISPLAYSURF = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))
BLACK = ( 0, 0, 0)
WHITE = (255, 255, 255)
def display_text_animation(string):
text = ''
for i in range(len(string)):
DISPLAYSURF.fill(WHITE)
text += string[i]
text_surface = font.render(text, True, BLACK)
text_rect = text_surface.get_rect()
text_rect.center = (WINDOW_WIDTH/2, WINDOW_HEIGHT/2)
DISPLAYSURF.blit(text_surface, text_rect)
pygame.display.update()
pygame.time.wait(100)
def main():
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
display_text_animation('Hello World!')
main()
注意:我之前没有使用过pygame,所以这可能不起作用。
答案 1 :(得分:0)
以下效果很好。并停止事件队列的任何重载(因此多行或大量文本不会停止动画)。如果嵌入在不以其他方式处理事件队列的简单应用程序中,则这是必需的。
SELECT A.ID, B.CONCAT('ABC_', A.Day, '_', A.Month, '_', A.Year) AS ABC
FROM A
INNER JOIN B ON A.ID=B.ID
答案 2 :(得分:0)
这有点简单,它创建了一个可以随时使用的功能。在这个例子中,我调用了我的函数'slow'并使它在调用时需要输入一个字符串。输入的内容将逐字符显示。速度取决于'睡眠'附近的值。希望这有帮助。
from time import * #imports all the time functions
def slow(text): #function which displays characters one at a time
for letters in text: #the variable goes through each character at a time
print(letters, end = "") #current character is printed
sleep(0.02) #insert the time between each character shown
#the for loop will move onto the next character
slow("insert text here") #instead of print, use the name of the function
如果按原样运行,它应该一次输出“在此插入文本”一个字符。