建议从python_飞机大战_diren_py_一 开始看
import pygame
import random
from bullets import *
# 敌人飞机
class EnemyPlane(object):
# 初始化敌人飞机
def __init__(self, scene,level):
# 加载飞机资源
self.image = pygame.image.load("images/level"+str(level)+"_plane.png").convert_alpha()
# 缓存主场景对象
self.main_scene = scene
# 飞机矩形
self.rect = self.image.get_rect()
# 飞机速度
self.speed = 2
self.visible = True
# 获得飞机矩形
def rect(self):
return self.rect
# 设置飞机位置
def set_pos(self, x, y):
self.rect[0] = x
self.rect[1] = y
# 飞机动作
def action(self):
self.rect.move_ip(0, self.speed)
# 如果飞机移动出屏幕则将飞机设置为不可见状态
if self.rect[1] > self.main_scene.size[1]:
# 当飞机飞出屏幕,重新设置飞机的初始位置,移动速度
# 随机产生x坐标,纵坐标使用为0
self.set_pos(random.randint(20, 300),0)#self.main_scene.size[0] - self.rect[2] - 20
# 随机设置飞机移动速度
self.speed = random.randint(1, 4)
# 绘制飞机
def draw(self):
if self.visible:
self.main_scene.scene.blit(self.image, (self.rect[0], self.rect[1]))