]> Skullheadx's Git Forge - Pygame-Jam.git/commitdiff
added player animation and assets
authorSkullheadx <94652084+Skullheadx@users.noreply.github.com>
Fri, 8 Jul 2022 06:07:03 +0000 (02:07 -0400)
committerSkullheadx <94652084+Skullheadx@users.noreply.github.com>
Fri, 8 Jul 2022 06:07:03 +0000 (02:07 -0400)
24 files changed:
Assets/player/idle/Idle_Animation1.png [new file with mode: 0644]
Assets/player/idle/Idle_Animation10.png [new file with mode: 0644]
Assets/player/idle/Idle_Animation11.png [new file with mode: 0644]
Assets/player/idle/Idle_Animation12.png [new file with mode: 0644]
Assets/player/idle/Idle_Animation13.png [new file with mode: 0644]
Assets/player/idle/Idle_Animation14.png [new file with mode: 0644]
Assets/player/idle/Idle_Animation15.png [new file with mode: 0644]
Assets/player/idle/Idle_Animation16.png [new file with mode: 0644]
Assets/player/idle/Idle_Animation17.png [new file with mode: 0644]
Assets/player/idle/Idle_Animation18.png [new file with mode: 0644]
Assets/player/idle/Idle_Animation19.png [new file with mode: 0644]
Assets/player/idle/Idle_Animation2.png [new file with mode: 0644]
Assets/player/idle/Idle_Animation20.png [new file with mode: 0644]
Assets/player/idle/Idle_Animation3.png [new file with mode: 0644]
Assets/player/idle/Idle_Animation4.png [new file with mode: 0644]
Assets/player/idle/Idle_Animation5.png [new file with mode: 0644]
Assets/player/idle/Idle_Animation6.png [new file with mode: 0644]
Assets/player/idle/Idle_Animation7.png [new file with mode: 0644]
Assets/player/idle/Idle_Animation8.png [new file with mode: 0644]
Assets/player/idle/Idle_Animation9.png [new file with mode: 0644]
Enemy.py
Player.py
Setup.py
Weapon.py

diff --git a/Assets/player/idle/Idle_Animation1.png b/Assets/player/idle/Idle_Animation1.png
new file mode 100644 (file)
index 0000000..1bae45a
Binary files /dev/null and b/Assets/player/idle/Idle_Animation1.png differ
diff --git a/Assets/player/idle/Idle_Animation10.png b/Assets/player/idle/Idle_Animation10.png
new file mode 100644 (file)
index 0000000..428c4e0
Binary files /dev/null and b/Assets/player/idle/Idle_Animation10.png differ
diff --git a/Assets/player/idle/Idle_Animation11.png b/Assets/player/idle/Idle_Animation11.png
new file mode 100644 (file)
index 0000000..cae952a
Binary files /dev/null and b/Assets/player/idle/Idle_Animation11.png differ
diff --git a/Assets/player/idle/Idle_Animation12.png b/Assets/player/idle/Idle_Animation12.png
new file mode 100644 (file)
index 0000000..ee56a60
Binary files /dev/null and b/Assets/player/idle/Idle_Animation12.png differ
diff --git a/Assets/player/idle/Idle_Animation13.png b/Assets/player/idle/Idle_Animation13.png
new file mode 100644 (file)
index 0000000..b2e1016
Binary files /dev/null and b/Assets/player/idle/Idle_Animation13.png differ
diff --git a/Assets/player/idle/Idle_Animation14.png b/Assets/player/idle/Idle_Animation14.png
new file mode 100644 (file)
index 0000000..b2e1016
Binary files /dev/null and b/Assets/player/idle/Idle_Animation14.png differ
diff --git a/Assets/player/idle/Idle_Animation15.png b/Assets/player/idle/Idle_Animation15.png
new file mode 100644 (file)
index 0000000..b378f5e
Binary files /dev/null and b/Assets/player/idle/Idle_Animation15.png differ
diff --git a/Assets/player/idle/Idle_Animation16.png b/Assets/player/idle/Idle_Animation16.png
new file mode 100644 (file)
index 0000000..e36b0cb
Binary files /dev/null and b/Assets/player/idle/Idle_Animation16.png differ
diff --git a/Assets/player/idle/Idle_Animation17.png b/Assets/player/idle/Idle_Animation17.png
new file mode 100644 (file)
index 0000000..24026d8
Binary files /dev/null and b/Assets/player/idle/Idle_Animation17.png differ
diff --git a/Assets/player/idle/Idle_Animation18.png b/Assets/player/idle/Idle_Animation18.png
new file mode 100644 (file)
index 0000000..4fa5a85
Binary files /dev/null and b/Assets/player/idle/Idle_Animation18.png differ
diff --git a/Assets/player/idle/Idle_Animation19.png b/Assets/player/idle/Idle_Animation19.png
new file mode 100644 (file)
index 0000000..cae952a
Binary files /dev/null and b/Assets/player/idle/Idle_Animation19.png differ
diff --git a/Assets/player/idle/Idle_Animation2.png b/Assets/player/idle/Idle_Animation2.png
new file mode 100644 (file)
index 0000000..428c4e0
Binary files /dev/null and b/Assets/player/idle/Idle_Animation2.png differ
diff --git a/Assets/player/idle/Idle_Animation20.png b/Assets/player/idle/Idle_Animation20.png
new file mode 100644 (file)
index 0000000..cae952a
Binary files /dev/null and b/Assets/player/idle/Idle_Animation20.png differ
diff --git a/Assets/player/idle/Idle_Animation3.png b/Assets/player/idle/Idle_Animation3.png
new file mode 100644 (file)
index 0000000..428c4e0
Binary files /dev/null and b/Assets/player/idle/Idle_Animation3.png differ
diff --git a/Assets/player/idle/Idle_Animation4.png b/Assets/player/idle/Idle_Animation4.png
new file mode 100644 (file)
index 0000000..428c4e0
Binary files /dev/null and b/Assets/player/idle/Idle_Animation4.png differ
diff --git a/Assets/player/idle/Idle_Animation5.png b/Assets/player/idle/Idle_Animation5.png
new file mode 100644 (file)
index 0000000..428c4e0
Binary files /dev/null and b/Assets/player/idle/Idle_Animation5.png differ
diff --git a/Assets/player/idle/Idle_Animation6.png b/Assets/player/idle/Idle_Animation6.png
new file mode 100644 (file)
index 0000000..428c4e0
Binary files /dev/null and b/Assets/player/idle/Idle_Animation6.png differ
diff --git a/Assets/player/idle/Idle_Animation7.png b/Assets/player/idle/Idle_Animation7.png
new file mode 100644 (file)
index 0000000..428c4e0
Binary files /dev/null and b/Assets/player/idle/Idle_Animation7.png differ
diff --git a/Assets/player/idle/Idle_Animation8.png b/Assets/player/idle/Idle_Animation8.png
new file mode 100644 (file)
index 0000000..428c4e0
Binary files /dev/null and b/Assets/player/idle/Idle_Animation8.png differ
diff --git a/Assets/player/idle/Idle_Animation9.png b/Assets/player/idle/Idle_Animation9.png
new file mode 100644 (file)
index 0000000..428c4e0
Binary files /dev/null and b/Assets/player/idle/Idle_Animation9.png differ
index 54f71be0d6a9be16b72c2d5569a7a23ceab2eca4..a969d54e5bbfc7f9aafee3bc525f5e1568c2e0f3 100644 (file)
--- a/Enemy.py
+++ b/Enemy.py
@@ -5,7 +5,7 @@ from Actors import Actor
 from Weapon import Melee
 
 class Enemy(Actor):
-    width, height = 25, 50
+    width, height = 50, 100
     colour = (235, 64, 52)
     speed = 0.2
     jump_strength = 0.75
@@ -22,7 +22,7 @@ class Enemy(Actor):
 
         # self.health = 0
 
-        self.weapon = Melee(self.position, (-Melee.width/2, Melee.height/2), (0, Melee.height), self.width,-1)
+        self.weapon = Melee(self.position, (-Melee.width/2 + 7, Melee.height/2 + self.height/3 - 8), (-5,Melee.height), self.width,-1)
 
     def update(self, delta, target=None):
         super().update(delta)
index 2925c9cb21a483096211017c64651f83f426ac29..a75a72c80c4f9c31faae8b53fef144b839bda73d 100644 (file)
--- a/Player.py
+++ b/Player.py
@@ -10,13 +10,19 @@ from Potion import Potion
 from Weapon import Melee
 
 class Player(Actor):
-    width, height = 25, 50
+    scale = 100
+    factor = 640/scale
+    crop = pg.Rect(179,169, 170, 401)
+    idle_frames = [pygame.transform.scale(pg.image.load(path.join("Assets/player/idle", file)).subsurface(pg.Rect(179,169, 170, 401)), (50,100)) for file in listdir("Assets/player/idle")]
+    width, height = idle_frames[0].get_size()
+
     colour = (52, 94, 235)
     speed = 0.2
     jump_strength = 0.9
     gravity = 0.098
     friction = 0.7
 
+
     def __init__(self, pos, collision_layer, collision_mask, can_hurt):
         super().__init__(pos, collision_layer, collision_mask)
         self.initial_position = pg.Vector2(pos)
@@ -38,9 +44,16 @@ class Player(Actor):
         for i in range(self.starting_potions):
             self.potion_bag.append(Potion(self))
 
-        self.weapon = Melee(self.position, (-Melee.width/2, Melee.height/2), (0, Melee.height), self.width,-1)
+        self.weapon = Melee(self.position, (-Melee.width/2 + 7, Melee.height/2 + self.height/3 - 8), (-5,Melee.height), self.width,-1)
         self.targets = can_hurt
 
+        self.direction = -1
+
+        self.state = "IDLE"
+        self.current_frame = 0
+        self.display = self.idle_frames[0]
+        self.display_offsets = {"weapon":pg.Vector2(0,0)}
+
     def update(self, delta):
         super().update(delta)
 
@@ -56,11 +69,33 @@ class Player(Actor):
         # Deals with collision and applying velocity
         self.position, self.velocity = self.move_and_collide(self.position.copy(), self.velocity.copy(), delta)
 
+        prev_direction = self.direction
         if self.velocity.x == 0:
-            direction = 0
+            self.direction = 0
         else:
-            direction = math.copysign(1,self.velocity.x)
-        self.weapon.update(delta,self.position, direction)
+            self.direction = math.copysign(1,self.velocity.x)
+        self.weapon.update(delta,self.position, self.direction)
+
+        if self.state == "IDLE":
+            frame = math.floor(self.current_frame)
+            if self.direction == 1:
+                self.display = self.idle_frames[math.floor(frame)]
+            elif self.direction == -1:
+                self.display = pg.transform.flip(self.idle_frames[math.floor(frame)], True, False)
+            else:
+                if prev_direction == 1:
+                    self.display = self.idle_frames[math.floor(frame)]
+                elif prev_direction == -1:
+                    self.display = pg.transform.flip(self.idle_frames[math.floor(frame)], True, False)
+            # 1 - 10 up, 11 down by 1, 12 - 18 down by 2, 19-20 down 1 FIX THIS
+            frame += 1
+            if 1 < frame < 10:
+                self.display_offsets["weapon"] = pg.Vector2(0,2)
+            elif frame == 11 or frame == 19 or frame == 20:
+                self.display_offsets["weapon"] = pg.Vector2(0,1)
+            else:
+                self.display_offsets["weapon"] = pg.Vector2(0,0)
+            self.current_frame = (self.current_frame + 0.1) % len(self.idle_frames)
 
         return self.position - self.initial_position
 
@@ -111,8 +146,9 @@ class Player(Actor):
 
 
     def draw(self, surf):
-        self.weapon.draw(surf)
-        super().draw(surf)
+        self.weapon.draw(surf, self.display_offsets["weapon"])
+        # super().draw(surf)
+        surf.blit(self.display, get_display_rect(self.get_collision_rect()))
         # print(self.position, self.velocity, get_display_rect(self.get_collision_rect()).topleft, Setup.camera_offset)
         # pg.draw.rect(surf, self.colour, get_display_rect(self.get_collision_rect()), border_radius=8)
 
index 348d12653e00297a30d65329b18bc1540e98ecff..4bb65fee4df7ba9c0f8547e72f121467b38adfbb 100644 (file)
--- a/Setup.py
+++ b/Setup.py
@@ -1,6 +1,7 @@
 import pygame as pg
 import math
 import random
+from os import listdir, path
 
 
 pg.init()
@@ -33,4 +34,7 @@ def get_display_rect(collision_rect):
     return pg.Rect(pos - camera_offset, (width, height))
     # return pg.Rect(pos, (width, height))
 
+def get_display_point(vec):
+    return vec - camera_offset
+
 from Area import Area
index b598eb4a18194f37f134d6b32d282df675a3f091..54e84a17a1e5e9b425116853fc5cba7af6fc9ed0 100644 (file)
--- a/Weapon.py
+++ b/Weapon.py
@@ -53,7 +53,7 @@ class Melee:
             if self.swing_timer == 0:
                 self.swing_timer = 360
 
-    def draw(self, surf):
-        surf.blit(self.display, get_display_rect(self.get_collision_rect()).topleft)
-        # pygame.draw.circle(surf,(255,0,255),self.pivot,3)
-        # pygame.draw.circle(surf,(0,255,0),self.position,3)
+    def draw(self, surf, display_offset = pg.Vector2(0,0)):
+        surf.blit(self.display, get_display_rect(self.get_collision_rect()).topleft + display_offset)
+        # pg.draw.circle(surf,(255,0,255),get_display_point(self.pivot),3)
+        # pg.draw.circle(surf,(0,255,0),get_display_point(self.position),3)