56 lines
2.0 KiB
Python
56 lines
2.0 KiB
Python
import pygame,os
|
|
abspath = os.getcwd() + "/"
|
|
class MyPlane(pygame.sprite.Sprite):
|
|
def __init__(self, bg_size):
|
|
pygame.sprite.Sprite.__init__(self)
|
|
|
|
self.image1 = pygame.image.load(abspath + "images/me1.png").convert_alpha()
|
|
self.image2 = pygame.image.load(abspath + "images/me2.png").convert_alpha()
|
|
self.destroy_images = []
|
|
self.destroy_images.extend([\
|
|
pygame.image.load(abspath + "images/me_destroy_1.png").convert_alpha(), \
|
|
pygame.image.load(abspath + "images/me_destroy_2.png").convert_alpha(), \
|
|
pygame.image.load(abspath + "images/me_destroy_3.png").convert_alpha(), \
|
|
pygame.image.load(abspath + "images/me_destroy_4.png").convert_alpha() \
|
|
])
|
|
self.rect = self.image1.get_rect()
|
|
self.width, self.height = bg_size[0], bg_size[1]
|
|
self.rect.left, self.rect.top = \
|
|
(self.width - self.rect.width) // 2, \
|
|
self.height - self.rect.height - 60
|
|
self.speed = 10
|
|
self.active = True
|
|
self.invincible = False
|
|
self.mask = pygame.mask.from_surface(self.image1)
|
|
|
|
def moveUp(self):
|
|
if self.rect.top > 0:
|
|
self.rect.top -= self.speed
|
|
else:
|
|
self.rect.top = 0
|
|
|
|
def moveDown(self):
|
|
if self.rect.bottom < self.height - 60:
|
|
self.rect.top += self.speed
|
|
else:
|
|
self.rect.bottom = self.height - 60
|
|
|
|
def moveLeft(self):
|
|
if self.rect.left > 0:
|
|
self.rect.left -= self.speed
|
|
else:
|
|
self.rect.left = 0
|
|
|
|
def moveRight(self):
|
|
if self.rect.right < self.width:
|
|
self.rect.left += self.speed
|
|
else:
|
|
self.rect.right = self.width
|
|
|
|
def reset(self):
|
|
self.rect.left, self.rect.top = \
|
|
(self.width - self.rect.width) // 2, \
|
|
self.height - self.rect.height - 60
|
|
self.active = True
|
|
self.invincible = True
|