主框架
import sys
import pygame
pygame.init()
screen = pygame.display.set_mode((400, 300)) #元组赋予窗口大小
#screen具有了pygame.display.set_mode所有的属性方法
pygame.display.set_caption('Gluttonous snake')
while True:
"""主程序循环"""
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
pygame.display.update()
1.image.load
代表将图片加载到内存中。一般将图片打包在同一文件中,该文件夹与py文件放置在同一文件夹下。
self.image = pygame.image.load('images/ship.bmp')
2.rect
rect根据加载的surface图片生成矩形框,所有运动的操作都针对矩形框
rect的属性主要包括left、 top、 right 、bottom 和center中的centerx、centery以及尺寸size、width、height
Rect(left,top,width,height),可理解为构造左上角点坐标为(left、top)宽为width,长为height
"""在(0,0)处创建子弹矩形,并设置位置"""
self.rect = pygame.Rect(0, 0, ai_settings.bullet_width,
ai_settings.bullet_height)
A.rect = B.get_rect(),其中B为加载到内存中的surface图片。该命令使得A获得图片所有的rect属性。
#加载外星人图像,并设置其rect属性
self.image = pygame.image.load('images/alien.bmp')
self.rect = self.image.get_rect()
*题外话:例子全部是创建类的情况。A.b的命名方式更易读懂,其中的b代表属性。当A.b.c时是调用属性b后的c属性如,下面代码的等号右。命名时也应该遵循这