24 lines
699 B
Odin
24 lines
699 B
Odin
package main
|
|
|
|
import "core:fmt"
|
|
import "util"
|
|
import "vendor:sdl3"
|
|
|
|
DEFAULT_VELOCITY: util.Velocity : util.Velocity{x = 0, y = 0}
|
|
SPEED: f32 : 200
|
|
|
|
HandleInput :: proc(game: ^Game, event: sdl3.Event) {
|
|
effect := event.type == sdl3.EventType.KEY_DOWN ? true : false
|
|
game.input_state[event.key.scancode] = effect
|
|
}
|
|
|
|
MovePlayer :: proc(game: ^Game) {
|
|
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
|
|
game.player.velocity = util.Velocity{x, y}
|
|
|
|
game.player.position.y += y * game.delta
|
|
game.player.position.x += x * game.delta
|
|
}
|