Update updates the camera based on keyboard input.
(dt float32)
| 330 | |
| 331 | // Update updates the camera based on keyboard input. |
| 332 | func (c *KeyboardScroller) Update(dt float32) { |
| 333 | c.keysMu.RLock() |
| 334 | defer c.keysMu.RUnlock() |
| 335 | |
| 336 | m := engo.Point{ |
| 337 | X: engo.Input.Axis(c.horizontalAxis).Value(), |
| 338 | Y: engo.Input.Axis(c.verticalAxis).Value(), |
| 339 | } |
| 340 | n, _ := m.Normalize() |
| 341 | engo.Mailbox.Dispatch(CameraMessage{Axis: XAxis, Value: n.X * c.ScrollSpeed * dt, Incremental: true}) |
| 342 | engo.Mailbox.Dispatch(CameraMessage{Axis: YAxis, Value: n.Y * c.ScrollSpeed * dt, Incremental: true}) |
| 343 | } |
| 344 | |
| 345 | // BindKeyboard sets the vertical and horizontal axes used by the KeyboardScroller. |
| 346 | func (c *KeyboardScroller) BindKeyboard(hori, vert string) { |