如果一款游戏不能用鼠标和键盘操作,那我们只能当动画来看。
所以在一款游戏中,鼠标和键盘的操作是必不可少的,有时候甚至鼠标和键盘都要同时操作,比如 FPS 游戏,比如即时战略等等。鼠标和键盘的操作在 Pygame 中需要进行实时检测,这个上一节我有提到过,然后我们就可以对游戏画面进行操作。
我们在 Pygame 中有两种方式可以检测和编写键盘事件,一种是使用 event 事件操作,一种是使用 keypressed 函数来进行键盘的判断操作。
我们先来尝试一下使用事件进行操作的键盘事件。我们在之前的代码中,已经使用事件来判断是不是退出,我们来看如下代码:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
在这段代码里面,event.type 的类型如果是 QUIT 的话,就让 pygame 退出,那么举一反三,我们也可以在里面写上如下代码:
if event.type == KEYDOWN:
if event.key == pygame.K_w:
.....
在这里,我们判断事件的类型是 KEYDOWN,也就是键盘按下的事件,随后我们再在下面的代码里, 判断 event 所返回键盘 key 值,是 pygame.K_w,这个 K_w 是 pygame 里面定义的虚拟键盘的按键,代表的是 Key 值为键盘 w 的按键,所以你只要按下 w 键,就会出现对应的操作。