测试题一、
1、 程序可以响应的两种事件分别是键盘事件和鼠标事件。
2、 处理事件的代码称为事件处理器
3、 Pygame使用KEYDOWN事件来检测按键是否按下。
4、 Pos属性会指出事件发生时鼠标所在的位置
5、 要为用户事件得到下一个可用的事件编号,可以使用pygame.NUMEVENTS。
6、 要创建一个定时器,可以使用pygame.time.set_timer()。
7、 要在Pygame窗口中显示文本,可以使用font对象。
8、 使用字体对象有3个步骤:
创建一个字体对象
渲染文本,创建一个表面
把这个表面块移到显示表面
动手试一试
1、 如果球没有碰到球拍的顶边,而是碰到了球拍的左右两边,为什么会有奇怪的表现?这是因为这里有一个碰撞,所以代码尝试让球的y方向 (让它向上而不是向下)。但是因为球 是从两边(左边或右边)过来的,即使在反向之后它仍会与球拍“碰撞”。下一次循环(一帧之后)时,它会再次反向,因此会再次向下,如此继续,要解决这个问题,有一种简单的方法:当球与球拍碰撞时总是将球设置为向“上”(y速度是一个负值)。这不能算是一种完美的解决办法,因为这意味着即使碰到球拍左右两边也会向上反弹---这可不太真实!不过这样能解决球在球拍两边来回反弹的问题,如果你想要一种更真实的解决方案,可能需要多写一些代码,也许要增加一些内容,在“反弹”之前检查球碰到了球拍的哪一边。
2、 我们已经给出了有关代码的一个例子,可以为程序增加随机性,见TIO_CH18_2.py。
测试题二、