1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
#simple enemy class
import pygame, pygame.image
from pygame.locals import *
import gfx, game
images = []
def load_game_resources():
#load shot graphics
global images
for i in range(1,5):
img = gfx.load('bullet.gif')
images.append(img)
class Shot:
def __init__(self, pos, move):
self.move = move
self.image = images[0]
self.rect = self.image.get_rect()
self.rect.center = pos
self.lastrect = None
self.dead = 0
self.pos = list(self.rect.topleft)
def prep(self, screen):
pass
def erase(self, background):
if self.lastrect:
background(self.lastrect)
if self.dead:
gfx.dirty(self.lastrect)
self.lastrect = None
def draw(self, gfx):
r = gfx.surface.blit(self.image, self.rect)
gfx.dirty2(r, self.lastrect)
self.lastrect = r
def tick(self, speedadjust = 1.0):
self.pos[0] += self.move[0] * speedadjust
self.pos[1] += self.move[1] * speedadjust
self.rect.topleft = self.pos
if not gfx.rect.colliderect(self.rect):
self.dead = 1
return self.dead
|