def __init__(self, object_list: dict, x=0, y=0, max_speed=200, acceleration=250, friction=400): self.pos = Vector2.new(x, y) self.vel = Vector2() self.max_speed = max_speed self.acceleration = acceleration self.friction = friction self.rect = geometry.Rectangle(x, y, 40, 40, color=(230, 50, 50)) self.jumped = False self.teleported = False self.alive = True self.object_list = object_list self.died = BindableEvent() self.connection_on_died = self.died.connect(self.on_died) self.connection_on_space = InputHandler.input_began.connect(self.on_space)
def absolute_pos(self) -> Vector2: (x, y) = self.parent.absolute_size.unpack( ) if self.parent else pygame.display.get_surface().get_size() return self.pos.offset + self.pos.scale * Vector2.new( x, y) - self.absolute_size * self.anchor_point
def absolute_size(self) -> Vector2: (x, y) = self.parent.absolute_size.unpack( ) if self.parent else pygame.display.get_surface().get_size() return self.size.offset + self.size.scale * Vector2.new(x, y)