Python AI游戏编程入门:基于Pygame和PyTorch
上QQ阅读APP看书,第一时间看更新

1.4.2 二维图形显示

游戏角色需要显示在屏幕的某个位置上,这个位置对应的坐标系原点一般在屏幕左上角,坐标的单位是像素点。如图1-1所示,我们建立了一个600px×300px的屏幕窗口,在窗口的左上角位置放置了一个边长为100px的正方形,正方形的左上角坐标(0,0)就是原点。我们也可以通过设置左上角或其他位置的坐标来控制正方形的位置。

图1-1

游戏角色(Spirit)一般由两个要素构成,一个是角色的“外皮”,即用来表现视觉效果的图片文件,另一个是角色的“骨架”,即构成图片外部边缘的边框。角色的图片文件需要在初始化时加载,将其加载到内存后,可以获取其边框对象,然后通过设置边框的坐标值来控制角色的位置。

最后需要注意的是缓冲机制。在游戏主循环中,游戏角色生成后并不会被直接输出到游戏界面窗口中,而是先输出到显卡的内存缓冲区,计算机再将内存缓冲区的游戏角色信息更新并输出到屏幕上。就像在话剧表演中,帷幕落下后,后台人员忙着摆放场景道具;将这些场景道具放置妥当后,帷幕升起。这样做的好处是不会将尚未准备好的舞台展示给观众,而帷幕遮挡的舞台就相当于存放游戏角色信息的内存缓冲区。