运动和交互的实现
1)让小球动起来无外乎需要小球的球心位置不断改变,这就需要在小球对象里面添加一个更新小球位置的函数update
2)让小球动起来需要知道每次改变小球位置的速度量,因此需要初始化小球的速度
3)小球动起来不能让小球的跑出界面外,因此需要有一个修改小球速度的过程,比如碰到右壁应该使得x方向的速度为负
4)木板动起来需要外设输入的响应,基本设置为w,s控制左板上下,上下键控制右板上下
5)木板的移动和小球一样,只是运动的维数降低。当然这里为了使得按住不放生效,需要多定义两个bool量,反映上下移动的许可
6)因为游戏退出其实也是外设的输入导致的,因此可以集成到一个函数里面去检查外设输入事件
五个模块中代码的更新
game_main.py不变:
import pygame
from game_settings import Settings
from board import Board
from ball import Ball
import game_function as gf
pygame.init()#初始化
settings=Settings()#获取设置参数
screen=pygame.display.set_mode((settings.screen_width,settings.screen_height))#创建一个界面,限制长宽
screen.fill(settings.screen_color)#界面上色
pygame.display.set_caption(settings.screen_text)#界面上文字
bd1=Board(screen,settings,'left')#定义左板,定义只需要一次
bd2=Board(screen,settings,'right')#定义右板
ball=Ball(screen,settings)#定义球
while True:
#gf.check_event(bd1)
gf.update_screen(settings,screen,ball,bd1,bd2)
<