Esempio n. 1
0
    def __init__(self):
        self.GAME = 'BEGIN GAME'
        self.GAME_CAPTION = 'XF game'

        # load game's resources
        self.FONTS = load_all_fonts(os.path.join('resources', 'fonts'))
        self.MUSIC = load_all_music(os.path.join('resources', 'music'))
        self.GFX = load_all_gfx(os.path.join('resources', 'graphics'))
        self.SFX = load_all_sfx(os.path.join('resources', 'sound'))
        self.TMX = load_all_tmx(os.path.join('resources', 'tmx'))
        self.FONT = pg.font.Font(self.FONTS['Fixedsys500c'], 20)

        self.screen = pg.display.get_surface()
        self.events = None
        self.viewport = None
        self.level_surface = None
        self.level_rect = None

        # box
        self.bground = self.GFX['box']
        self.bgroundrect = self.bground.get_rect(centerx=400)

        # load map resource
        self.tmx_map = self.TMX['background2']
        self.renderer = tilerender.Renderer(self.tmx_map)
        self.map_image = self.renderer.make_map()
        self.map_rect = self.map_image.get_rect()
        self.viewport = SCREEN.get_rect(bottom=self.map_rect.bottom)
        self.level_surface = pg.Surface(self.map_rect.size)
        self.level_rect = self.level_surface.get_rect()

        # set blocks
        self.blockers = []
        for object in self.renderer.tmx_data.getObjects():
            if object.name == 'BLOCK':
                left = object.x - 64
                top = object.y
                blocker = pg.Rect(left, top, 32, 32)
                self.blockers.append(blocker)

        # load players
        self.player = None
        for object in self.renderer.tmx_data.getObjects():
            properties = object.__dict__
            if object.name == 'spoint':
                posx = object.x + 32
                posy = object.y
                self.player = Player.Player('player1', 'down', posx, posy)
                self.player.rect.x = posx
                self.player.rect.y = posy
            else:
                self.player = Player.Player('player1', 'down')
                self.player.rect.x = 0
                self.player.rect.y = 0
Esempio n. 2
0
def load_map(render_data):
    # initialization map
    tmx_map = render_data.TMX['background2']
    renderer = tilerender.Renderer(tmx_map)
    map_image = renderer.make_map()
    map_rect = map_image.get_rect()
    render_data.viewport = SCREEN.get_rect(bottom=map_rect.bottom)
    render_data.level_surface = pg.Surface(map_rect.size)
    render_data.level_rect = render_data.level_surface.get_rect()

    render_data.viewport.center = (320, 320)
    render_data.viewport.clamp_ip(render_data.level_rect)

    render_data.level_surface.blit(map_image, render_data.viewport,
                                   render_data.viewport)
    render_data.screen.blit(render_data.level_surface, (0, 0),
                            render_data.viewport)

    return ("LOADMAP", render_data)
Esempio n. 3
0
    clock = pg.time.Clock()
    # some about fps
    fps = 60
    show_fps = False
    done = False
    state_dict = {}  # state machine
    # current game state
    state_name = None
    state = None
    current_time = 0.0
    keys = pg.key.get_pressed()
    # music
    # set_music(MUSIC["kings_theme"], 0.4)
    # map
    tmx_map = TMX['background2']
    renderer = tilerender.Renderer(tmx_map)
    map_image = renderer.make_map()
    map_rect = map_image.get_rect()
    viewport = SCREEN.get_rect(bottom=map_rect.bottom)
    level_surface = pg.Surface(map_rect.size)
    level_rect = level_surface.get_rect()
    # title_box = GFX['title_box']
    # title_rect = title_box.get_rect()
    # title_rect.midbottom = viewport.midbottom
    # title_rect.y -= 30
    alpha = 255

    # player
    posx = 0
    posy = 0
    player = Player.Player('down')