当前位置: 首页 > 知识库问答 >
问题:

pyplay闪烁的文本

查宜修
2023-03-14

我正在用pygame制作一个游戏,在制作这个游戏时,我在屏幕上使用了很多文本。但是当我在我的代码中达到这一点时,第一个写的文本不会闪烁,但是第二个会闪烁,我想改变这一点。而且,当我拿着钥匙时,当我只想让它写一次信时,这封信就会被一遍又一遍地快速地写下来。代码:

def game_loop():

    while True:

        clock = pygame.time.Clock()




        def enter_name():
            global kiriko
            global pressed_key
            global ikey
            for event in pygame.event.get():
                if event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_1 :
                        pressed_key = '1'

                    if event.key == pygame.K_2 :
                        pressed_key = '2'


                    if event.key == pygame.K_3 :
                        pressed_key = '3'


                    if event.key == pygame.K_4 :
                        pressed_key = '4'


                    if event.key == pygame.K_5 :
                        pressed_key = '5'


                    if event.key == pygame.K_6 :
                        pressed_key = '6'


                    if event.key == pygame.K_7 :
                        pressed_key = '7'


                    if event.key == pygame.K_8 :
                        pressed_key = '8'


                    if event.key == pygame.K_9 :
                        pressed_key = '9'


                    if event.key == pygame.K_0 :
                        pressed_key = '0'


                    if event.key == pygame.K_q :
                        pressed_key = 'q'


                    if event.key == pygame.K_w :
                        pressed_key = 'w'

    #same thing but for every letter in the alphabet...


                    if event.key == pygame.K_PLUS :
                        pressed_key = '+'


                    if event.key == pygame.K_BACKSPACE :
                        kiriko = kiriko[:-1]

                if event.type == pygame.KEYUP:
                    pressed_key = ''



        try:

            message_small(kiriko, display_width / 2, display_height / 1.3)
            message_display("Enter your name")
            pygame.display.update()
            window.fill(white)
            enter_name()
            kiriko += pressed_key
            message_small(kiriko, display_width / 2, display_height / 1.3)
            message_display("Enter your name")
            pygame.display.update()
            clock.tick(120)
        except:
            message_small(kiriko, display_width / 2, display_height / 1.3)
            message_display("Enter your name")
            pygame.display.update()
            window.fill(white)
            enter_name()
            message_display("Enter your name")
            pygame.display.update()
            clock.tick(120)

编辑:现在唯一的问题是闪烁的文字,因为我得到了一个解决方案

共有1个答案

曾高杰
2023-03-14

我相信你的文字闪烁的原因是因为你在调用pygame。陈列update()在许多地方都可以使用。只需调用pygame。陈列在代码末尾附近更新()

~z~蟒蛇先生

 类似资料:
  • 我显示记分板的代码总是闪烁,因为我将背景设置为白色。但我想让这一切停止。那么,有没有一种方法可以让pygame在不更新显示的情况下完成所有这些绘图和填充,并且当绘图完成时,它会显示新的结果,这样我就不必看到每一步,从而不必闪烁?

  • 问题内容: 有什么简单的方法可以使文本在jQuery中闪烁并停止它?必须适用于IE,FF和Chrome。谢谢 问题答案: 例如 这也是一个非常简单的插件,您可以扩展它以停止动画并按需启动它。

  • 这是因为在开发模式下,为了通过 Webpack 实现热加载,CSS代码是打包在 JavaScript 代码中,并动态打到页面中去,从而元素重绘引起了闪烁。 不用担心,在生产模式下,CSS代码会单独打包至独立的文件并置于head标签内,不会出现页面闪烁的现象。

  • 问题内容: 我想做一个闪烁的文本。 首先,我尝试了HTML标记,但仅Mozilla Firefox支持。 然后我尝试了CSS: 在IE 6上无法正常工作。 然后我尝试了javascript: 现在,它无法在Safari或Chrome上运行。 有人可以帮我使用可在所有流行浏览器上运行的闪烁文本吗?(IE 6,Mozilla Firefox,Google Chrome Safari,Opera。) 问

  • 我在Lollipop上的共享元素转换中看到了奇怪的事情。共享元素在开始动画之前闪烁(请看视频https://www.youtube.com/watch?v=DCoyyC_S-9A) 我不知道为什么会这样。但是,当我添加

  • 我试图用pyplay制作一个游戏,我几乎完成了,但我想让被画在墙上的盒子不闪烁,这些红色的盒子在整个游戏中闪烁,我不想让它们闪烁,最后,我在一个if条件下调用player碰撞函数,在这里每当我制作新的碰撞器时,我每次都要在if条件下添加函数,我想要的是碰撞器对象自动调用这个函数,而不需要我在if语句中为碰撞器的每个实例调用它对象。请指导我如何这样做。