Files
Regin_mountain_of_treasures/internal/scenes/play_map.go

27 lines
668 B
Go

package scenes
import (
"github.com/go-gl/mathgl/mgl64"
"github.com/hajimehoshi/ebiten/v2"
)
type Platform struct {
Pos mgl64.Vec3
Width float64
Height float64
Sprite *ebiten.Image
Scale float64
}
// Kolla ifall spelaren nuddar ovansidan av plattformen (Fallande)
func (p *Platform) CheckCollisionTop(player *Player, nextY float64) bool {
// AABB (Axis-Aligned Bounding Box) X-kollision
if player.Pos[0] < p.Pos[0]+(p.Width*p.Scale) && player.Pos[0]+player.Width > p.Pos[0] {
// Kolla om spelaren är på väg ner och "korsar" toppen av plattformen
if player.Pos[1]+player.Height <= p.Pos[1] && nextY+player.Height >= p.Pos[1] {
return true
}
}
return false
}