Dossier de développement de la guerre du poulet gras Python (4): mouvement du poulet gras

Utilisez les touches fléchées pour contrôler le mouvement du poulet gras.
1. Répondez au bouton (en prenant à droite comme exemple)
update: \ game_functions.py:

import...

def check_events(chicken):
    """响应按键和鼠标事件"""
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()

        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_RIGHT:
                # 向右移动
                chicken.rect.centerx += 1

...

Mise à jour: \ FatChickenWars.py:

...
        # 监视键盘和鼠标事件
        gf.check_events(chicken)
...

2. Il est permis de se déplacer en continu (en prenant le mouvement vers la droite à titre d'exemple)
tout en maintenant les touches fléchées enfoncées, le poulet gras doit bouger en continu.
Méthode d'implémentation: ajoutez l'attribut moving_right et la méthode update () à la classe Chicken
Update: \ chicken.py-Class Chicken ():

	...
        #移动标志
        self.moving_right = False
        
    def update(self):
        """根据移动标志调整肥鸡位置"""
        if self.moving_right:
            self.rect.centerx += 1

Mise à jour: \ game_functions.py:

def check_events(chicken):
    """响应按键和鼠标事件"""
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()

        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_RIGHT:
                chicken.moving_right = True

        elif event.type == pygame.KEYUP:
            if event.key == pygame.K_RIGHT:
                chicken.moving_right = False

Mise à jour: \ FatChickenWars.py:

...
    while True:
        # 监视键盘和鼠标事件
        gf.check_events(chicken)
        
        # 更新肥鸡状态
        chicken.update()

        # 更新画面
        gf.update_screen(fcw_settings, screen, chicken)
...

se déplacer vers la droite
L'effet est bon.

2021.1.21

Je suppose que tu aimes

Origine blog.csdn.net/k1095118808/article/details/112913789
conseillé
Classement