class ComicStrip(View):
    def __init__(self, level, image_id):
        super(ComicStrip, self).__init__()

        self.add_layer(
            Layer(position=(0, 0), size=Widget.get_resolution()).fill('ffffff'),
            0
        )

        (res_width,res_height) = Widget.get_resolution()
        self._res_width = res_width
        self._res_height = res_height
        self._level = level

        self._interface = Interface('interfaces.comicstrip')
        self._height = self.loader().get_raw_resource(image_id).get_height()

        self._increment = 100

        self._interface.get('comicstrip').style('background-image', image_id)
        self.add_layer(self._interface, 100)

        self.listen_key('return')
        self.listen_key('down')
        self.listen_key('up')

    def on_down_pressed(self):
        top = int(self._interface.get('comicstrip').style('top'))

        if self._res_height - int(self._interface.get('comicstrip').style('top')) <= self._height:
            self._interface.get('comicstrip').style('top', str(top-self._increment))

    def on_down_released(self):
        pass

    def on_up_pressed(self):
        top = int(self._interface.get('comicstrip').style('top'))

        if int(self._interface.get('comicstrip').style('top')) < 0:
            self._interface.get('comicstrip').style('top', str(top+self._increment))

    def on_up_released(self):
        pass

    def on_return_pressed(self):
        from endgame import EndGame
        if self._level:
            self._navigator.set_current_view(self._level)
        else:
            self._navigator.set_current_view(EndGame())
    def on_return_released(self):
        pass
class LoadingScreen(View):

    def __init__(self):
        super(LoadingScreen, self).__init__()
        self.loader().load_package('loading')
        self.loader().load_package('interfaces')

        resolution = Widget.get_resolution()
        res_width, res_height = resolution
        self.add_layer(
            Layer(position=(0, 0), size=resolution).fill('191919'), 0
        )
        self._animation = AnimatedLayer(
            position=(res_width / 2 - 120, res_height / 2.3), size=(275, 50)
        )
        self._animation.set_animation('loading.tinyrat.walk')
        self.add_layer(self._animation, 1)
        self.listen('quit')
        self._interface = Interface('interfaces.loadingscreen')
        self.add_layer(self._interface, 100)
        self._queue = Queue.Queue()
        self._loading_task = LoadingTask(self.loader(), self._queue)
        self._loading_task.start()

    def on_frame(self, delta):
        super(LoadingScreen, self).on_frame(delta)
        message = None
        try:
            message = self._queue.get_nowait()
        except Queue.Empty:
            pass
        if message:
            if message == True:
                self._navigator.set_current_view(MainMenu())
            else:
                self._interface.get('message').attr('text', message)

    def on_quit(self, event):
        sys.exit()
Exemple #3
0
 def __init__(self):
     super(MainMenu, self).__init__()
     self.add_layer(
         Layer(position=(0, 0), size=Widget.get_resolution()).fill('191919'),
         0
     )
     self._interface = Interface('interfaces.mainmenu')
     JukeBox().play('music.intro')
     self.add_layer(self._interface, 100)
     self._choice = 0
     self._up_tap = False
     self._down_tap = False
     self.listen('quit')
     self.listen_key('up')
     self.listen_key('down')
     self.listen_key('return')
    def __init__(self):
        super(LoadingScreen, self).__init__()
        self.loader().load_package('loading')
        self.loader().load_package('interfaces')

        resolution = Widget.get_resolution()
        res_width, res_height = resolution
        self.add_layer(
            Layer(position=(0, 0), size=resolution).fill('191919'), 0
        )
        self._animation = AnimatedLayer(
            position=(res_width / 2 - 120, res_height / 2.3), size=(275, 50)
        )
        self._animation.set_animation('loading.tinyrat.walk')
        self.add_layer(self._animation, 1)
        self.listen('quit')
        self._interface = Interface('interfaces.loadingscreen')
        self.add_layer(self._interface, 100)
        self._queue = Queue.Queue()
        self._loading_task = LoadingTask(self.loader(), self._queue)
        self._loading_task.start()
    def __init__(self, level, image_id):
        super(ComicStrip, self).__init__()

        self.add_layer(
            Layer(position=(0, 0), size=Widget.get_resolution()).fill('ffffff'),
            0
        )

        (res_width,res_height) = Widget.get_resolution()
        self._res_width = res_width
        self._res_height = res_height
        self._level = level

        self._interface = Interface('interfaces.comicstrip')
        self._height = self.loader().get_raw_resource(image_id).get_height()

        self._increment = 100

        self._interface.get('comicstrip').style('background-image', image_id)
        self.add_layer(self._interface, 100)

        self.listen_key('return')
        self.listen_key('down')
        self.listen_key('up')
Exemple #6
0
class MainMenu(View):

    CHOICES = ['play', 'quit']

    def __init__(self):
        super(MainMenu, self).__init__()
        self.add_layer(
            Layer(position=(0, 0), size=Widget.get_resolution()).fill('191919'),
            0
        )
        self._interface = Interface('interfaces.mainmenu')
        JukeBox().play('music.intro')
        self.add_layer(self._interface, 100)
        self._choice = 0
        self._up_tap = False
        self._down_tap = False
        self.listen('quit')
        self.listen_key('up')
        self.listen_key('down')
        self.listen_key('return')

    def deselect_all(self):
        for choice in self.CHOICES:
            item = self._interface.get(choice)
            item.style('color', '#469638')

    def update_menu(self):
        self.deselect_all()
        item = self._interface.get(self.CHOICES[self._choice])
        item.style('color', '#becbcd')
        cursor = self._interface.get('cursor')
        top = 35 + self._choice * 20
        cursor.style('top', '%d%%' % top)

    def tap_down(self):
        self._choice += 1
        if self._choice >= len(self.CHOICES):
            self._choice = 0
        self.update_menu()

    def tap_up(self):
        self._choice -= 1
        if self._choice < 0:
            self._choice = len(self.CHOICES) - 1
        self.update_menu()

    def on_up_pressed(self):
        if not self._up_tap:
            self.tap_up()
            self._up_tap = True

    def on_up_released(self):
        self._up_tap = False

    def on_down_pressed(self):
        if not self._down_tap:
            self.tap_down()
            self._down_tap = True

    def on_down_released(self):
        self._down_tap = False

    def on_quit(self, event):
        sys.exit()

    def play(self):
        self._navigator.set_current_view(
            ComicStrip(Lab1(Widget.get_resolution(), self._navigator), 'static.comic_strip_1')
        )

    def on_return_pressed(self):
        {
            'play': self.play,
            'quit': sys.exit
        }[self.CHOICES[self._choice]]()

    def on_return_released(self):
        pass