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