今日任务:
控制飞船
动手前思考
1.如何实现左右移动;游戏是通过循环来刷新界面,那就需要在循环中更新飞船的位置,更新位置是通过按键的点击,所以操作应该在监听按键和页面刷新中完成
2.考虑到习惯,我们通常点击后不松开就会一直移动;移动不能出屏幕,考虑好之后,代码如下
实现代码
alien_invasion.py
import sys
import pygame
from setting import Settings
from ship import Ship
def run_game():
# 初始化游戏并创建一个屏幕对象
pygame.init()
ai_settings = Settings()
screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))
pygame.display.set_caption("外星人入侵")
# 创建一艘飞船
ship = Ship(ai_settings, screen)
# 开始游戏主循环
while True:
check_events(ship)
ship.update()
update_screen(ai_settings, screen, ship)
# 监测事件
def check_events(ship):
# 监视键盘和鼠标事件
for event in pygame.event.get