Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import arcade
- from Variables import *
- class Player(arcade.Sprite):
- def __init__(self):
- super().__init__()
- texture = arcade.load_texture("Graphics/Black Sparrow/Black Sparrow Idle.png", mirrored=True, scale=CharacterScaling)
- self.textures.append(texture)
- texture = arcade.load_texture("Graphics/Black Sparrow/Black Sparrow Idle.png", scale=CharacterScaling)
- self.textures.append(texture)
- self.set_texture(TextureRight)
- def update(self):
- self.center_x += self.change_x
- self.center_y += self.change_y
- if self.change_x < 0:
- self.set_texture(TextureLeft)
- if self.change_x > 0:
- self.set_texture(TextureRight)
- if self.left < 0:
- self.left = 0
- elif self.right > ScreenWidth - 1:
- self.right = ScreenHeight - 1
- if self.bottom < 0:
- self.bottom = 0
- elif self.top > ScreenHeight - 1:
- self.top = ScreenHeight - 1
- class MyGame(arcade.Window):
- def __init__(self):
- super().__init__(ScreenWidth, ScreenHeight, ScreenTitle)
- self.WallList = None
- self.player_list = None
- self.PlayerSprite = None
- self.player = None
- self.physics_engine = None
- self.health = 0
- self.ScreenWidthText = ScreenWidth
- self.ScreenHeightText = ScreenHeight
- self.LeftPressed = False
- self.RightPressed = False
- self.UpPressed = False
- self.DownPressed = False
- arcade.set_background_color(arcade.color.CORNFLOWER_BLUE)
- def setup(self):
- self.player_list = arcade.SpriteList()
- self.WallList = arcade.SpriteList()
- self.PlayerSprite = arcade.Sprite('Graphics/Black Sparrow/Black Sparrow Idle.png', CharacterScaling)
- self.PlayerSprite.center_x = 512
- self.PlayerSprite.center_y = 400
- self.player_list.append(self.PlayerSprite)
- self.health = 0
- self.player = arcade.AnimatedWalkingSprite()
- self.player.stand_right_textures = []
- self.player.stand_right_textures.append(arcade.load_texture('Graphics/Black Sparrow/Black Sparrow Idle.png',
- scale=CharacterScaling))
- self.player.stand_left_textures = []
- self.player.stand_left_textures.append(arcade.load_texture('Graphics/Black Sparrow/Black Sparrow Idle.png',
- scale=CharacterScaling, mirrored=True))
- self.player.walk_right_textures = []
- self.player.walk_right_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk1.png',
- scale=CharacterScaling))
- self.player.walk_right_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk2.png',
- scale=CharacterScaling))
- self.player.walk_right_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk3.png',
- scale=CharacterScaling))
- self.player.walk_right_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk4.png',
- scale=CharacterScaling))
- self.player.walk_right_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk5.png',
- scale=CharacterScaling))
- self.player.walk_right_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk6.png',
- scale=CharacterScaling))
- self.player.walk_right_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk7.png',
- scale=CharacterScaling))
- self.player.walk_right_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk8.png',
- scale=CharacterScaling))
- self.player.walk_left_textures = []
- self.player.walk_left_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk1.png',
- scale=CharacterScaling, mirrored=True))
- self.player.walk_left_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk2.png',
- scale=CharacterScaling, mirrored=True))
- self.player.walk_left_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk3.png',
- scale=CharacterScaling, mirrored=True))
- self.player.walk_left_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk4.png',
- scale=CharacterScaling, mirrored=True))
- self.player.walk_left_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk5.png',
- scale=CharacterScaling, mirrored=True))
- self.player.walk_left_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk6.png',
- scale=CharacterScaling, mirrored=True))
- self.player.walk_left_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk7.png',
- scale=CharacterScaling, mirrored=True))
- self.player.walk_left_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk8.png',
- scale=CharacterScaling, mirrored=True))
- self.player.texture_change_distance = 20
- self.player_list.append(self.player)
- ConstructionMap = 'Walk the Plank.tmx'
- ConstructionLayerName = 'Platform'
- my_map = arcade.read_tiled_map(ConstructionMap, TileScaling)
- map_array = my_map.layers_int_data[ConstructionLayerName]
- self.end_of_map = len(map_array[0]) * GridPixelSize
- self.WallList = arcade.generate_sprites(my_map, ConstructionLayerName, TileScaling)
- self.physics_engine = arcade.PhysicsEnginePlatformer(self.PlayerSprite, self.WallList, Gravity)
- def on_draw(self):
- arcade.start_render()
- self.WallList.draw()
- self.player_list.draw()
- HealthDisplay = f'P1 Health: {self.health}'
- arcade.draw_text(HealthDisplay, 1, ScreenHeight-20, arcade.color.WHITE, 18)
- def on_key_press(self, key, modifiers):
- #if key == arcade.key.W:
- # if self.physics_engine.can_jump():
- # self.PlayerSprite.change_y = JumpSpeed
- # self.enable_multi_jump(2)
- #elif key == arcade.key.A:
- # self.PlayerSprite.change_x = -MovementSpeed
- #elif key == arcade.key.D:
- # self.PlayerSprite.change_x = MovementSpeed
- if key == arcade.key.W:
- if self.physics_engine.can_jump():
- self.PlayerSprite.change_y = JumpSpeed
- elif key == arcade.key.D:
- self.RightPressed = True
- elif key == arcade.key.S:
- self.DownPressed = True
- elif key == arcade.key.A:
- self.LeftPressed = True
- def on_key_release(self, key, modifiers):
- #if key == arcade.key.A:
- # self.PlayerSprite.change_x = 0
- #elif key == arcade.key.D:
- # self.PlayerSprite.change_x = 0
- if key == arcade.key.W:
- self.UpPressed = False
- elif key == arcade.key.D:
- self.RightPressed = False
- elif key == arcade.key.S:
- self.DownPressed = False
- elif key == arcade.key.A:
- self.LeftPressed = False
- def update(self, delta_time):
- if self.PlayerSprite.center_y < -100:
- self.PlayerSprite.center_x = PlayerStartX
- self.PlayerSprite.center_y = PlayerStartY
- self.PlayerSprite.change_x = 0
- self.PlayerSprite.change_y = 0
- if self.UpPressed and not self.DownPressed:
- self.PlayerSprite.change_y = MovementSpeed
- elif self.DownPressed and not self.UpPressed:
- self.PlayerSprite.change_y = -MovementSpeed
- if self.LeftPressed and not self.RightPressed:
- self.PlayerSprite.change_x = -MovementSpeed
- elif self.RightPressed and not self.LeftPressed:
- self.PlayerSprite.change_x = MovementSpeed
- self.physics_engine.update()
- self.player_list.update_animation()
- def main():
- window = MyGame()
- window.setup()
- arcade.run()
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement