Interaction adjustment for n fluidsims.

This commit is contained in:
2025-12-03 10:28:19 -05:00
parent 719b386822
commit d37413a400

View File

@@ -34,7 +34,7 @@ type Game struct {
fluidsim10height float64
//other
fluidsim10angle float64
fluidsim10angle float64 //purely for debugging
mdown bool
mdx, mdy int
}
@@ -114,11 +114,12 @@ func (g *Game) RenderFluidSim10(img *ebiten.Image) {
for _, sim := range g.fluidsim10 {
sim.Draw()
angle := sim.GetAngle()
pos := sim.GetPosition()
op := &ebiten.DrawImageOptions{}
op.GeoM.Translate(-g.fluidsim10width/2, -g.fluidsim10height/2)
op.GeoM.Scale(1, -1)
op.GeoM.Rotate(g.fluidsim10angle)
op.GeoM.Rotate(angle)
// op.GeoM.Translate(g.fluidsim10width/2, g.fluidsim10height/2)
op.GeoM.Translate(pos.X, pos.Y)
img.DrawImage(sim.GetSprite(), op)
@@ -218,12 +219,12 @@ func (g *Game) ManageFluidSim10Inputs() {
if ebiten.IsMouseButtonPressed(ebiten.MouseButtonLeft) {
if g.mdown {
mx, my := ebiten.CursorPosition()
dx := float64(mx) - GameWidth/2 //g.fluidsim10.GetPosition().X
dy := float64(my) - GameHeight/2 //g.fluidsim10.GetPosition().Y
angle := math.Atan2(dy, dx)
g.fluidsim10angle = angle
for _, sim := range g.fluidsim10 {
dx := float64(mx) - sim.GetPosition().X
dy := float64(my) - sim.GetPosition().Y
angle := math.Atan2(dy, dx)
g.fluidsim10angle = angle
sim.SetAngle(angle)
}
}