Fix some errors in iso->pix->iso conversions, add debugging

Maps now render a bit more properly, and our mouse position can be
correctly assigned to a cell. Kind of, mostly.
This commit is contained in:
2020-04-18 00:12:15 +01:00
parent 1e141a2fb9
commit 6e70ddcb60
8 changed files with 156 additions and 23 deletions

View File

@@ -51,8 +51,6 @@ func main() {
log.Fatal("Couldn't create window: %v", err)
}
// TODO: click to view cell data
win.OnKeyUp(ebiten.KeyLeft, env.changeOrigin(-64, +0))
win.OnKeyUp(ebiten.KeyRight, env.changeOrigin(+64, +0))
win.OnKeyUp(ebiten.KeyUp, env.changeOrigin(+0, -64))
@@ -62,6 +60,8 @@ func main() {
win.OnKeyUp(ebiten.Key1+ebiten.Key(i), env.setZIdx(i))
}
win.OnMouseClick(env.showCellData)
if err := win.Run(); err != nil {
log.Fatal(err)
}
@@ -87,3 +87,14 @@ func (e *env) setZIdx(to int) func() {
e.scenario.ZIdx = to
}
}
func (e *env) showCellData() {
screenX, screenY := ebiten.CursorPosition()
viewX, viewY := e.scenario.Viewpoint.X+screenX, e.scenario.Viewpoint.Y+screenY
log.Printf("Click registered at (%d,%d) screen, (%d,%d) virtual", screenX, screenY, viewX, viewY)
cell, pos := e.scenario.CellAtCursor()
log.Printf("Viewpoint: %#+v z=%v", e.scenario.Viewpoint, e.scenario.ZIdx)
log.Printf("Cell under cursor: (%.2f,%.2f,%d): %#+v", pos.X, pos.Y, pos.Z, cell)
}