【问题标题】:Mixing Graphics and Text into one window将图形和文本混合到一个窗口中
【发布时间】:2013-07-05 02:23:36
【问题描述】:

我正在使用 Python 并使用 livewires 开发一个琐事游戏。我有一个理论,有一个默认的问题卡作为图像显示。然后让控制台将文本打印到准确定位的位置。问题、答案和解释将从文本文件中加载,程序会随机选择加载的内容。但如果这一理论可行,该程序实际上可以有尽可能多的问题或不同的主题,并且可以很容易地从记事本文件中编辑。我想我的问题是,有没有办法准确定位打印的控制台文本,并允许将其放置在 pygame 窗口内的图像之上?

【问题讨论】:

    标签: python pygame theory livewires


    【解决方案1】:

    从文本文件加载问题听起来不错。使用 pygame,您可以将文本放置在屏幕上的任何位置,这是一个两步过程:

    question = "Is this a question?"
    
    # Render the text:
    font = pygame.font.SysFont("Arial", 20)
    text_surface = font.render(question, true, (0,0,0))
    
    # Blit the text to the screen
    text_rect = text_surface.get_rect()
    text_rect.center = (100,100)
    screen.blit(text_surface, text_rect.topleft)
    

    这会将问题吸引到所需的位置。

    如果您想处理多行问题,您可以在文件中使用特殊字符来指示换行符(例如竖线 |),或者您可以制定算法来自动找出在何处放置换行符。接下来,您逐行渲染和 blit,将一些像素添加到 y 坐标。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-16
      • 1970-01-01
      • 1970-01-01
      • 2018-09-23
      相关资源
      最近更新 更多