Citat:
Ursprungligen postat av
edm4life
Kollade lite snabbt och det jag kan komma på är att du kör b0.update() innan själva kollisionsdetekteringen. Vad händer om du gör det i motsatt ordning, finns buggen kvar då? Du får nog refaktorera din kod lite för att iallafall jag ska orka gå in och fixa det.
Vad jag har förstått så är regeln att detekteringen ska köras efter update, men oavsett var så finns buggen kvar ändå. Gissningsvis är det så att när kollideringen sker så är b0s height större än width innanför b1, därför skjuts b0 på fel sida. Man kanske ska jämföra b0s gamla positioner före frame, men vet inte riktigt hur och får det inte att fungera. Kanske lite överkurs detta.
Nu har jag snyggat till koden lite och kommenterat:
https://codepen.io/anon/pen/mpJNOV?editors=0010