Python 创作一部Pygame视觉小说';那不是和伦比在一起

Python 创作一部Pygame视觉小说';那不是和伦比在一起,python,pygame,Python,Pygame,我一直在试图找到一种方法,让我学习如何在不使用renpy的情况下,在python/pygame中制作一个像游戏这样的视觉小说。我有几个游戏是用pygame编写的,我想在一个更大的单一游戏中使用视觉小说部分作为游戏的过渡。在来到这里之前,我已经搜索了很多,我很困惑为什么在pygame中没有renpy,就无法制作一款视觉小说类型的游戏 我写了一段代码,但是如果我要显示一行和下一行,我必须重复相同的代码大约四十次。我如何压缩代码并允许播放器实际单击以进入下一个文本集(而不是像示例中那样等待三秒) 相关

我一直在试图找到一种方法,让我学习如何在不使用renpy的情况下,在python/pygame中制作一个像游戏这样的视觉小说。我有几个游戏是用pygame编写的,我想在一个更大的单一游戏中使用视觉小说部分作为游戏的过渡。在来到这里之前,我已经搜索了很多,我很困惑为什么在pygame中没有renpy,就无法制作一款视觉小说类型的游戏

我写了一段代码,但是如果我要显示一行和下一行,我必须重复相同的代码大约四十次。我如何压缩代码并允许播放器实际单击以进入下一个文本集(而不是像示例中那样等待三秒)

相关样本代码:

def two():
    screen.blit(bg,bg_rect)
    draw_text(screen, "C:", 26, width / 3, 426)
    draw_text(screen, "R, it's this.", 22, width / 2, 466)
    pg.display.flip()
    time.sleep(3)
    for event in pg.event.get():
        if event.type == pg.QUIT:
            pg.QUIT()

def one():
    screen.blit(bg, bg_rect)
    draw_text(screen, "R:", 26, width / 3, 426)
    draw_text(screen, "C, don't think.", 22, width / 2, 466)
    pg.display.flip()
    time.sleep(3)
    for event in pg.event.get():
        if event.type == pg.QUIT:
            pg.QUIT() 
        else: 
            two()

running = True
game_over = True
while running:
    if game_over:
        show_menu()
        one()
        two()
谢谢你一直支持我;-

screenOne = {
    "text": "Do you want to hangout?",
    "options": ["Yes", "No", "Are you sure?"]
    }

screenTwo = {
    "text": "Are you ok?",
    "options": ["I feel ok...", "No", "Feed me senpai..."]
    }

def draw_stuff(currentScreen):
    renderText(currentScreen["text"])
    for option in currentScreen["options"]:
        renderText(option)


currentScreen = screenOne
while (gameRunning):
    draw_stuff(currentScreen)
不用pygame行话,但我想你明白了

编辑一个

mousePos = getMousePos()
optionButtons = [1, 2, 3]

for b in optionButtons:
    if mousePos.x == optionButtons.x and mousePos.y == optionButtons.y:
        getEvent(b)

同样,这本质上是伪代码,但它应该会有所帮助。

我知道你在做什么,但它是否仍然需要我根据代码的“currentScreen=screenone”编写40次代码?你必须为每个屏幕创建多个字典,并在一个完成后重置屏幕。我想我现在已经找到了。030我正在和另外两个合作伙伴在vn rn上合作,我对编码几乎还一无所知,所以我想我要等到我对编码更熟悉了。thx tho 0v0