44 lines
1.6 KiB
Python

"""
This code creates the layout of level one.
"""
import pymunk
from arcade.examples.pymunk_platformer.physics_utility import (
PymunkSprite,
)
from constants import *
def create_floor(space, sprite_list):
""" Create a bunch of blocks for the floor. """
for x in range(-1000, 2000, SPRITE_SIZE):
y = SPRITE_SIZE / 2
sprite = PymunkSprite("../images/grassMid.png", x, y, scale=0.5, body_type=pymunk.Body.STATIC)
sprite_list.append(sprite)
space.add(sprite.body, sprite.shape)
def create_platform(space, sprite_list, start_x, y, count):
""" Create a platform """
for x in range(start_x, start_x + count * SPRITE_SIZE + 1, SPRITE_SIZE):
sprite = PymunkSprite("../images/grassMid.png", x, y, scale=0.5, body_type=pymunk.Body.STATIC)
sprite_list.append(sprite)
space.add(sprite.body, sprite.shape)
def create_level_1(space, static_sprite_list, dynamic_sprite_list):
""" Create level one. """
create_floor(space, static_sprite_list)
create_platform(space, static_sprite_list, 200, SPRITE_SIZE * 3, 3)
create_platform(space, static_sprite_list, 500, SPRITE_SIZE * 6, 3)
create_platform(space, static_sprite_list, 200, SPRITE_SIZE * 9, 3)
# Create the stacks of boxes
for column in range(6):
for row in range(column):
x = 600 + column * SPRITE_SIZE
y = (3 * SPRITE_SIZE / 2) + row * SPRITE_SIZE
sprite = PymunkSprite("../images/boxCrate_double.png", x, y, scale=0.5, friction=0.4)
dynamic_sprite_list.append(sprite)
space.add(sprite.body, sprite.shape)