e.update(deltaTime) for i in range(0, len(entities)): for j in range(i+1, len(entities)): e1 = entities[i] e2 = entities[j] mtv = cd.testCollisionSAT(e1, e2) if mtv != None: if e1.inverseMass==0: e2.pos-=mtv if e2.inverseMass==0: e1.pos+= mtv else: e1.pos+=mtv*.7 e2.pos-=mtv*.7 manifold = cd.calcCollisionManifold(e1, e2, mtv) if(len(manifold) < 1): pass else: cd.calcImpulseFriction(e1, e2, mtv, manifold) #r = 2 #can.create_oval(manifold[0].x-r, manifold[0].y-r, manifold[0].x+r, manifold[0].y+r) root.update()