Я сделал kivy-приложение, в котором все делается внутри этого класса:
class MyGame (Widget):
Следовательно, мой kv-файл выглядит так
<MyGame>:
GridLayout:
rows: 1
size: root.width, root.height
canvas.before:
Color:
rgba: 1, 1, 1, 1
Rectangle:
size: self.size
FloatLayout:
Button:
id: question
font_size: 20
size_hint: 0.77, 0.1
pos_hint: {"x": 0.09, "y":0.85}
on_press: root.start_round()
SmoothButton:
Но теперь, когда моя игра почти завершена, я чувствую необходимость включить 2 экрана:
One is for the game menu (to let the user select a game mode)
The other one is for the game itself
Я попытался включить это в свой main.py
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.lang import Builder
class MenuScreen(Screen):
pass
class GameScreen(Screen):
pass
class WindowManager(ScreenManager):
pass
kv = Builder.load_file('my.kv')
class MyGame(Widget):
...
и мой класс наследуемый от App возвращает kv в сборке
Вот мой файл kv: WindowManager: MenuScreen: GameScreen:
<MenuScreen>:
name: 'Menu'
Button:
<GameScreen>:
name: 'Game'
<MyGame>:
Как видите, я попытался вложить MyGame (Widget) в GameScreen (Nest), но когда я запускаю свой код, открывается экран, но экран черный
Кто-нибудь знает, как я могу решить свою проблему? Это практически мой первый проект в kivy, так что мне еще предстоит изучить много основ. Спасибо