Beispiel #1
0
    def update(self, adventure_state):

        # peut-être déplacer plus de traitement du côté handle_event
        horizontal_move, vertical_move = self.get_next_move(adventure_state)

        if vertical_move != 0 or horizontal_move != 0:
            self.move((horizontal_move, vertical_move))
        else:
            self.state = 0 # on passe en idle
            self.change_animation(self.direction + '_idle')
        # oops, une ligne ne représenta pas un état pour un perso car "immobile" et "marche"
        # sont sur la même ligne... il faut adapter animatedsprite!

        AnimatedSprite.update(self) # update l'animation en cours
Beispiel #2
0
    def update(self):
        
        # peut-être déplacer plus de traitement du côté handle_event
        vertical_move = 1 if globals.keyPressed['down'] else -1 if globals.keyPressed['up'] else 0
        horizontal_move = 1 if globals.keyPressed['right'] else -1 if globals.keyPressed['left'] else 0
        if vertical_move != 0 or horizontal_move != 0:
            globals.hero.move((horizontal_move, vertical_move))
        else:
            self.state = 0 # on passe en idle
            self.change_animation(self.direction + '_idle')
        # oops, une ligne ne représenta pas un état pour un perso car "immobile" et "marche"
        # sont sur la même ligne... il faut adapter animatedsprite!

        AnimatedSprite.update(self) # update l'animation en cours
Beispiel #3
0
    def update(self, adventure_state):

        # déplacement continu sur un clic gauche prolongé
        if adventure_state.mouse_buttons['left']:
            # vérifier si la position recherchée est "convenable"
            self.target = adventure_state.mouse_buttons['left']

        if self.target is not None:
            self._step_to(self.target) # ou move_to avec mémoire
            # si le perso est assez proche de sa cible, arrêter le mouvement
            if vector.distance(self.position, self.target) < 5:
                self.target = None

        # if vertical_move != 0 or horizontal_move != 0:
        #     self.move((horizontal_move, vertical_move))
        # else:
        #     self.state = 0 # on passe en idle
        #     self.change_animation(self.direction + '_idle')
        # oops, une ligne ne représenta pas un état pour un perso car "immobile" et "marche"
        # sont sur la même ligne... il faut adapter animatedsprite!

        AnimatedSprite.update(self) # update l'animation en cours