Beispiel #1
0
    def build(self):
        root = GameRoot()

        layout = KivyFloatLayout(
            # background_color=(.1, .2, .1, 1),
            size=Window.size)

        Window.bind(size=layout.setter('size'))

        label = KivyLabel(text='Hello world!',
                          # background_color=(.3, .2, .1, 1),
                          # angle=30,
                          )

        label.bind(texture_size=label.setter('size'))

        layout.add_widget(label)
        root.add_widget(layout)

        return root
Beispiel #2
0
class CivMapScreen(BoxLayout):
    def __init__(self, **kwargs):
        super(CivMapScreen, self).__init__(**kwargs)
        self.pos = (0, 0)
        self.nations = []
        self.ms = MapScatter(pos_hint={'x': 0, 'y': 0})
        self.add_widget(self.ms)
        self.im = Image(source='civ_board.png',
                        allow_stretch=True,
                        keep_ratio=False,
                        opacity=1.0)
        self.ms.add_widget(self.im)
        self.fl = FloatLayout(size=self.im.size, pos_hint={'x': 0, 'y': 0})
        self.ms.bind(size=self.fl.setter('size'))
        self.im.add_widget(self.fl)
        self.bind(size=self.im.setter('size'))

        self.sm = ScreenManager(pos_hint={
            'x': 1660 / 4058.0,
            'y': 3 / 2910.0
        },
                                size_hint=((3367 - 1660) / 4058.0,
                                           (2907 - 2105) / 2910.0))
        self.fl.add_widget(self.sm)

        self.st = StockPanel(pos_hint={'x': 0, 'y': 0}, size_hint=(1, 1))
        self.st.ccc_btn.bind(on_press=self.change_screen)
        self.sm.bind(size=self.st.lab.setter('size'))
        screen = Screen(name="Stock and Treasury",
                        pos_hint={
                            'x': 0,
                            'y': 0
                        },
                        size_hint=(1, 1))
        screen.add_widget(self.st)
        self.sm.add_widget(screen)

        self.ccc = CivCardCreditsPanel(pos_hint={
            'x': 0,
            'y': 0
        },
                                       size_hint=(1, 1))
        self.ccc.st_btn.bind(on_press=self.change_screen)
        screen = Screen(name='Civ Card Credits',
                        pos_hint={
                            'x': 0,
                            'y': 0
                        },
                        size_hint=(1, 1))
        screen.add_widget(self.ccc)
        self.sm.add_widget(screen)

    def change_screen(self, instance, *args):
        if instance == self.st.ccc_btn:
            self.sm.current = 'Civ Card Credits'
        elif instance == self.ccc.st_btn:
            self.sm.current = 'Stock and Treasury'
        for obj in [self, self.sm, self.st, self.st.lab]:
            print(obj, obj.pos, obj.pos_hint, obj.size, obj.size_hint)

    def add_spotter(self, spotter):
        print(f'Adding {spotter} to {self.fl}')
        self.fl.add_widget(spotter)