微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 true 时显示文本

如何解决如何在 true 时显示文本

我想在变量更改为 True 时在屏幕上显示文本。使用此代码显示文本“游戏结束”的时间很短,但不到一秒钟我就消失了。

import pygame
import random
import time
import math

# Initialize pygame
pygame.init()

# Create window (width,height)
screen1 = pygame.display.set_mode(((800,600)))
ScreenHeight = screen1.get_height()
ScreenWidth = screen1.get_width()

#Game Over text
go_font = pygame.font.Font('freesansbold.ttf',128)
go_text = "GAME OVER"
go_textx = 300
go_textY = 300

def show_gameover(go_textx,go_textY):
    gameover_text = font.render(go_text,True,(105,105,105))
    screen1.blit(gameover_text,(go_textY,go_textY))

# Variable to track gameover
gameover = False

while running:

    if gameover:
        show_gameover(go_textx,go_textY)


    # Insert Background
    screen1.blit(background,(0,0))


    i = 0

    for obs in obstacle_list:
        obs.spawn_obstacle()
        obs.update_y()

        outOfBounds = obs.out_of_bounds(playerX,playerY)
        if outOfBounds:
            obstacle_list.pop(i)

        collision = obs.collision_detection(playerX,playerY)
        if collision:

            gameover = True
            show_gameover(go_textx,go_textY)     #Show Gameover-text

        i += 1


    # Update after each iteration of the while-loop
    pygame.display.update()

解决方法

您必须在背景之后绘制文本。如果在绘制背景之前绘制文本,它将从背景中隐藏。在更新显示之前绘制它。所以它被绘制在场景中的所有其他对象上。

while running:

    # Insert Background
    screen1.blit(background,(0,0))

    # [...]

    if gameover:
        show_gameover(go_textX,go_textY)

    # Update after each iteration of the while-loop
    pygame.display.update()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?