Kokkupõrgete kontroll (collision checking) on mängudes väga sageli esinev ülesanne ja selle lahendamiseks on välja töötatud palju meetodeid. Millist konkreetselt kasutada, sõltub situatsioonist - kui suured on objektid ja kui suur peab olema arvutuste täpsus. Tavaliselt pole pikslitäpsusega (pixel-perfect) meetodid vajalikud, sest need nõuavad palju arvutusi ja kogu mäng võib muutuda liiga aeglaseks, sellepärast lähendatakse kokkupõrkes osalevad objektid nende piirdenelinurkadega (bounding box) - see on minimaalne nelinurk, mille sisse objekt mahub. Piirdenelinurk on määratud objekti vasaku ülanurgaga: [obj.x, obj.y] ja objekti laiuse-kõrgusega: obj.w, obj.h .
Objekti keskpunkt teise objekti piirdenelinurgas
Kui üks objektidest on väike, (näit kuul), võib kontrollida, kas selle keskpunkt asub teise objekti piirdenelinurgas:
function collision1(obj1,obj2){ var x = obj1.x+obj1.w/2; var y = obj1.x+obj1.h/2; return obj2.x < x && x < obj2.x + obj2.w && obj2.y < y && y < obj2.y + obj2.h }
Piirdenelinurkade lõikumine
Märksa varem teatab objektide lõikumisest meetod, mis kontrollib objektide piirdenelinurkade lõikumist:
function collision(obj1,obj2){ return obj2.x <= (obj1.x + obj1.w) && obj1.x <= (obj2.x + obj2.w) && obj2.y <= (obj1.y + obj1.h) && obj1.y <= (obj2.y + obj2.h); }