Registro de desarrollo de guerra de pollo gordo de pitón (4): Movimiento de pollo gordo

Utilice las teclas de flecha para controlar el movimiento del pollo gordo.
1. Responda al botón (tomando el derecho como ejemplo)
actualizar: \ 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

...

Actualización: \ FatChickenWars.py:

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

2. Se permite moverse continuamente (tomando el movimiento hacia la derecha como ejemplo)
mientras se mantienen presionadas las teclas de flecha, el pollo gordo debe moverse continuamente.
Método de implementación: agregue el atributo Moving_right y el método update () a la clase Chicken
Actualización: \ chicken.py-Class Chicken ():

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

Actualización: \ 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

Actualización: \ FatChickenWars.py:

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

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

mover a la derecha
El efecto es bueno.

2021.1.21

Supongo que te gusta

Origin blog.csdn.net/k1095118808/article/details/112913789
Recomendado
Clasificación