fumarole/movement.odin

24 lines
650 B
Odin
Raw Normal View History

package main
import "core:fmt"
2025-06-28 15:08:49 +02:00
import "util"
import "vendor:sdl3"
2025-06-28 15:33:39 +02:00
handle_input :: proc(game: ^Game, event: sdl3.Event) {
effect := event.type == sdl3.EventType.KEY_DOWN ? true : false
game.input_state[event.key.scancode] = effect
}
2025-06-28 15:33:39 +02:00
move_player :: proc(game: ^Game) {
2025-06-28 15:21:52 +02:00
speed := game.player.speed
y: f32 = game.input_state[sdl3.Scancode.W] ? -speed : 0
y += game.input_state[sdl3.Scancode.S] ? speed : 0
x: f32 = game.input_state[sdl3.Scancode.A] ? -speed : 0
x += game.input_state[sdl3.Scancode.D] ? speed : 0
2025-06-28 15:08:49 +02:00
game.player.velocity = util.Velocity{x, y}
2025-06-26 22:32:55 +02:00
game.player.position.y += y * game.delta
game.player.position.x += x * game.delta
}