Advertisement
ClassicalDig

Main Code

Jun 21st, 2019
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 8.88 KB | None | 0 0
  1. import arcade
  2. from Variables import *
  3.  
  4.  
  5. class Player(arcade.Sprite):
  6.  
  7.     def __init__(self):
  8.         super().__init__()
  9.  
  10.         texture = arcade.load_texture("Graphics/Black Sparrow/Black Sparrow Idle.png", mirrored=True, scale=CharacterScaling)
  11.         self.textures.append(texture)
  12.         texture = arcade.load_texture("Graphics/Black Sparrow/Black Sparrow Idle.png", scale=CharacterScaling)
  13.         self.textures.append(texture)
  14.  
  15.         self.set_texture(TextureRight)
  16.  
  17.     def update(self):
  18.         self.center_x += self.change_x
  19.         self.center_y += self.change_y
  20.  
  21.         if self.change_x < 0:
  22.             self.set_texture(TextureLeft)
  23.         if self.change_x > 0:
  24.             self.set_texture(TextureRight)
  25.  
  26.         if self.left < 0:
  27.             self.left = 0
  28.         elif self.right > ScreenWidth - 1:
  29.             self.right = ScreenHeight - 1
  30.  
  31.         if self.bottom < 0:
  32.             self.bottom = 0
  33.         elif self.top > ScreenHeight - 1:
  34.             self.top = ScreenHeight - 1
  35.  
  36.  
  37. class MyGame(arcade.Window):
  38.  
  39.     def __init__(self):
  40.  
  41.         super().__init__(ScreenWidth, ScreenHeight, ScreenTitle)
  42.  
  43.         self.WallList = None
  44.  
  45.         self.player_list = None
  46.         self.PlayerSprite = None
  47.         self.player = None
  48.  
  49.         self.physics_engine = None
  50.  
  51.         self.health = 0
  52.  
  53.         self.ScreenWidthText = ScreenWidth
  54.         self.ScreenHeightText = ScreenHeight
  55.  
  56.         self.LeftPressed = False
  57.         self.RightPressed = False
  58.         self.UpPressed = False
  59.         self.DownPressed = False
  60.  
  61.         arcade.set_background_color(arcade.color.CORNFLOWER_BLUE)
  62.  
  63.     def setup(self):
  64.  
  65.         self.player_list = arcade.SpriteList()
  66.         self.WallList = arcade.SpriteList()
  67.  
  68.         self.PlayerSprite = arcade.Sprite('Graphics/Black Sparrow/Black Sparrow Idle.png', CharacterScaling)
  69.         self.PlayerSprite.center_x = 512
  70.         self.PlayerSprite.center_y = 400
  71.         self.player_list.append(self.PlayerSprite)
  72.  
  73.         self.health = 0
  74.  
  75.         self.player = arcade.AnimatedWalkingSprite()
  76.  
  77.         self.player.stand_right_textures = []
  78.         self.player.stand_right_textures.append(arcade.load_texture('Graphics/Black Sparrow/Black Sparrow Idle.png',
  79.                                                                     scale=CharacterScaling))
  80.         self.player.stand_left_textures = []
  81.         self.player.stand_left_textures.append(arcade.load_texture('Graphics/Black Sparrow/Black Sparrow Idle.png',
  82.                                                                    scale=CharacterScaling, mirrored=True))
  83.  
  84.  
  85.         self.player.walk_right_textures = []
  86.  
  87.         self.player.walk_right_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk1.png',
  88.                                 scale=CharacterScaling))
  89.         self.player.walk_right_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk2.png',
  90.                                 scale=CharacterScaling))
  91.         self.player.walk_right_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk3.png',
  92.                                 scale=CharacterScaling))
  93.         self.player.walk_right_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk4.png',
  94.                                 scale=CharacterScaling))
  95.         self.player.walk_right_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk5.png',
  96.                                 scale=CharacterScaling))
  97.         self.player.walk_right_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk6.png',
  98.                                 scale=CharacterScaling))
  99.         self.player.walk_right_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk7.png',
  100.                                 scale=CharacterScaling))
  101.         self.player.walk_right_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk8.png',
  102.                                 scale=CharacterScaling))
  103.  
  104.         self.player.walk_left_textures = []
  105.  
  106.         self.player.walk_left_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk1.png',
  107.                                                                   scale=CharacterScaling, mirrored=True))
  108.         self.player.walk_left_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk2.png',
  109.                                                                   scale=CharacterScaling, mirrored=True))
  110.         self.player.walk_left_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk3.png',
  111.                                                                   scale=CharacterScaling, mirrored=True))
  112.         self.player.walk_left_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk4.png',
  113.                                                                   scale=CharacterScaling, mirrored=True))
  114.         self.player.walk_left_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk5.png',
  115.                                                                   scale=CharacterScaling, mirrored=True))
  116.         self.player.walk_left_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk6.png',
  117.                                                                   scale=CharacterScaling, mirrored=True))
  118.         self.player.walk_left_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk7.png',
  119.                                                                   scale=CharacterScaling, mirrored=True))
  120.         self.player.walk_left_textures.append(arcade.load_texture('Graphics/Black Sparrow/Walk/Black Sparrow Walk8.png',
  121.                                                                   scale=CharacterScaling, mirrored=True))
  122.  
  123.         self.player.texture_change_distance = 20
  124.  
  125.         self.player_list.append(self.player)
  126.  
  127.         ConstructionMap = 'Walk the Plank.tmx'
  128.  
  129.         ConstructionLayerName = 'Platform'
  130.  
  131.         my_map = arcade.read_tiled_map(ConstructionMap, TileScaling)
  132.  
  133.         map_array = my_map.layers_int_data[ConstructionLayerName]
  134.  
  135.         self.end_of_map = len(map_array[0]) * GridPixelSize
  136.  
  137.         self.WallList = arcade.generate_sprites(my_map, ConstructionLayerName, TileScaling)
  138.  
  139.         self.physics_engine = arcade.PhysicsEnginePlatformer(self.PlayerSprite, self.WallList, Gravity)
  140.  
  141.     def on_draw(self):
  142.  
  143.         arcade.start_render()
  144.  
  145.         self.WallList.draw()
  146.         self.player_list.draw()
  147.  
  148.         HealthDisplay = f'P1 Health: {self.health}'
  149.         arcade.draw_text(HealthDisplay, 1, ScreenHeight-20, arcade.color.WHITE, 18)
  150.  
  151.  
  152.     def on_key_press(self, key, modifiers):
  153.         #if key == arcade.key.W:
  154.         #    if self.physics_engine.can_jump():
  155.         #        self.PlayerSprite.change_y = JumpSpeed
  156.         #        self.enable_multi_jump(2)
  157.  
  158.         #elif key == arcade.key.A:
  159.         #    self.PlayerSprite.change_x = -MovementSpeed
  160.         #elif key == arcade.key.D:
  161.         #    self.PlayerSprite.change_x = MovementSpeed
  162.  
  163.         if key == arcade.key.W:
  164.             if self.physics_engine.can_jump():
  165.                 self.PlayerSprite.change_y = JumpSpeed
  166.         elif key == arcade.key.D:
  167.             self.RightPressed = True
  168.         elif key == arcade.key.S:
  169.             self.DownPressed = True
  170.         elif key == arcade.key.A:
  171.             self.LeftPressed = True
  172.  
  173.     def on_key_release(self, key, modifiers):
  174.         #if key == arcade.key.A:
  175.         #    self.PlayerSprite.change_x = 0
  176.         #elif key == arcade.key.D:
  177.         #    self.PlayerSprite.change_x = 0
  178.  
  179.         if key == arcade.key.W:
  180.             self.UpPressed = False
  181.         elif key == arcade.key.D:
  182.             self.RightPressed = False
  183.         elif key == arcade.key.S:
  184.             self.DownPressed = False
  185.         elif key == arcade.key.A:
  186.             self.LeftPressed = False
  187.  
  188.     def update(self, delta_time):
  189.  
  190.         if self.PlayerSprite.center_y < -100:
  191.             self.PlayerSprite.center_x = PlayerStartX
  192.             self.PlayerSprite.center_y = PlayerStartY
  193.  
  194.         self.PlayerSprite.change_x = 0
  195.         self.PlayerSprite.change_y = 0
  196.  
  197.         if self.UpPressed and not self.DownPressed:
  198.             self.PlayerSprite.change_y = MovementSpeed
  199.         elif self.DownPressed and not self.UpPressed:
  200.             self.PlayerSprite.change_y = -MovementSpeed
  201.         if self.LeftPressed and not self.RightPressed:
  202.             self.PlayerSprite.change_x = -MovementSpeed
  203.         elif self.RightPressed and not self.LeftPressed:
  204.             self.PlayerSprite.change_x = MovementSpeed
  205.  
  206.         self.physics_engine.update()
  207.         self.player_list.update_animation()
  208.  
  209.  
  210. def main():
  211.     window = MyGame()
  212.     window.setup()
  213.     arcade.run()
  214.  
  215.  
  216. if __name__ == '__main__':
  217.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement