7
7
class Character :
8
8
"""Base class for any sprites or objects"""
9
9
10
- def __init__ (self , x_pos : float , y_pos : float , image : pygame .Surface ) -> None :
10
+ def __init__ (self ,
11
+ x_pos : float ,
12
+ y_pos : float ,
13
+ image : pygame .Surface ,
14
+ rect : pygame .FRect ) -> None :
11
15
self .image = image
12
- self .rect = self . image . get_frect ()
16
+ self .rect = rect
13
17
self .rect .topleft = x_pos , y_pos
14
- self .vel = pygame .math .Vector2 (0 , 0 )
15
- self .pos = pygame .math .Vector2 (self .rect .topleft )
16
- self .prev_pos = self .pos
18
+ self .__pos = pygame .math .Vector2 (self .rect .topleft )
19
+ self .__prev_pos = self .__pos
17
20
18
21
def update (self ) -> None :
19
22
"""Override this method with movement, input, collisions etc."""
20
- self .prev_pos = self .__get_rect_pos ()
23
+ self .__prev_pos = self .__get_rect_pos ()
21
24
22
25
def draw (self , surface : pygame .Surface , alpha : float ) -> None :
23
26
"""Draw the Character to the screen."""
24
- self .pos = self .prev_pos .lerp (self .__get_rect_pos (), alpha )
25
- surface .blit (self .image , self .pos )
27
+ self .__pos = self .__prev_pos .lerp (self .__get_rect_pos (), alpha )
28
+ surface .blit (self .image , self .__pos )
26
29
27
30
def __get_rect_pos (self ) -> pygame .math .Vector2 :
28
31
"""Return the position of the Charater's rect as a Vec2."""
@@ -48,7 +51,7 @@ def update(self) -> None:
48
51
pass
49
52
50
53
def render (self , alpha : float ) -> None :
51
- """Override this function with blits and drawing of sprites """
54
+ """Override this function with blits and drawing of Characters """
52
55
pass
53
56
54
57
def run_game (self ) -> None :
0 commit comments