ibitfit/electric_sieve/land/Land.py

44 lines
1.4 KiB
Python

import pygame
from pygame import Rect
from pygame.locals import *
from lib.pgfw.pgfw.GameChild import GameChild
from electric_sieve.land.Mask import Mask
from electric_sieve.land.Plate import Plate
class Land(GameChild, Rect):
def __init__(self, parent):
GameChild.__init__(self, parent)
self.load_configuration()
self.mask = Mask(self)
self.plate = Plate(self)
self.display_surface = self.get_display_surface()
self.intermediate = pygame.Surface(self.display_surface.get_size())
self.intermediate.set_colorkey((0, 0, 0))
self.init_rect()
self.reset()
def load_configuration(self):
config = self.get_configuration("land")
self.height = config["height"]
self.altitude_ratio = config["altitude-ratio"]
def init_rect(self):
Rect.__init__(self, (0, self.get_initial_top()), self.mask.get_size())
def get_initial_top(self):
return self.display_surface.get_height() - self.h
def reset(self):
self.top = self.get_initial_top()
self.mask.reset()
self.plate.reset()
def update(self):
self.mask.update()
self.plate.update()
self.intermediate.blit(self.plate, self)
self.intermediate.blit(self.mask, self, None, BLEND_RGB_MIN)
self.get_display_surface().blit(self.intermediate, (0, 0))