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
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
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