游戏中的菜单:Screenmanager是这样做的吗?

时间:2016-02-23 08:23:17

标签: python kivy

我希望在我的游戏中创建一个菜单,感谢Kivy,玩家可以选择不同的选项并启动游戏。

我已经了解了ScreenManager模块,但我不知道它是否已经为此付出了代价:

from kivy.uix.screenmanager import Screen, ScreenManager, NoTransition

class MenuScreen(Screen):
    pass

class GameScreen(Screen):
    gameloop.main()

class MyGameApp(App):
    def build(self):
       sm = ScreenManager(transition=NoTransition())
       sm.add_widget(MenuScreen(name='menu'))
       sm.add_widget(GameScreen(name='game'))
          return sm

if __name__ == '__main__':
    MyGameApp().run()

如果我这样做,是不是应用程序同时启动菜单和游戏屏幕(一个在后台,另一个显示给用户)? (当然不是预期的目的)。

使用kivy在游戏中进行菜单的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以将游戏逻辑放在屏幕小部件中。

如果您的游戏有某种倒计时或移动敌人,您可以将其开头绑定到on_pre_enteron_enter events