Python肥鸡大战开发记录(四):肥鸡移动

用方向键控制肥鸡移动。
一、响应按键(以向右移动为例)
更新:\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

...

更新:\FatChickenWars.py:

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

二、允许不断移动(以向右移动为例)
按住方向键不放时,肥鸡应不断移动。
实现方法:为Chicken类添加moving_right属性和update()方法
更新:\chicken.py - Class Chicken():

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

更新:\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

更新:\FatChickenWars.py:

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

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

向右移动
效果不错。

2021.1.21

猜你喜欢

转载自blog.csdn.net/k1095118808/article/details/112913789
今日推荐