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:
@@ -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)
|
||||
}
|
||||
|
Reference in New Issue
Block a user