import pygame as pg from math import pi from rigidbody import * from collider.types import RectCollider, CircleCollider from tools import debug def main(): running=True pg.init() clock=pg.time.Clock() screen = pg.display.set_mode((500,500)) debug.enabled = True debug._screen = screen physics = PhysicsSystem() ball_collider = CircleCollider(10) rect = RectCollider(pg.Vector2(20,20)) linecollider = RectCollider((495, 5)) physics.add_body( RigidBody( Transform(pg.Vector2(250,0)), linecollider, pg.Vector2(0,0), mass=0.0, restitution=1 ) ) physics.add_body( RigidBody( Transform(pg.Vector2(250,500)), linecollider, pg.Vector2(0,0), mass=0.0, restitution=1 ) ) physics.add_body( RigidBody( Transform(pg.Vector2(0,250),rotation=pi/2.0), linecollider, pg.Vector2(0,0), mass=0.0, restitution=1 ) ) physics.add_body( RigidBody( Transform(pg.Vector2(500,250),rotation=pi/2), linecollider, pg.Vector2(0,0), mass=0.0, restitution=1 ) ) while running: dt = clock.tick(144) / 1000 screen.fill((0,0,0)) physics.update(dt) debug.debug() #ball3.draw(screen) pg.display.flip() for event in pg.event.get(): if event.type == pg.MOUSEBUTTONDOWN: if event.button == 1: physics.add_body( RigidBody( transform=Transform(pg.Vector2(pg.mouse.get_pos())), collider=ball_collider, velocity=pg.Vector2(0,0), ) ) if event.button == 3: physics.add_body( RigidBody( Transform(pg.Vector2(pg.mouse.get_pos())), collider=rect, velocity=pg.Vector2(0,0), ) ) if event.type == pg.QUIT: running = False if __name__ == "__main__": main()