Init 2
This commit is contained in:
parent
d5b2cdd376
commit
474cb11d0c
|
@ -0,0 +1 @@
|
|||
src.bin
|
Binary file not shown.
After Width: | Height: | Size: 574 B |
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"$schema": "https://raw.githubusercontent.com/DanielGavin/ols/master/misc/ols.schema.json",
|
||||
"enable_document_symbols": true,
|
||||
"enable_hover": true,
|
||||
"enable_snippets": true,
|
||||
"collections": [
|
||||
{
|
||||
"name": "core",
|
||||
"path": "/home/vlad/dev/builds/Odin/core"
|
||||
},
|
||||
{
|
||||
"name": "vendor",
|
||||
"path": "/home/vlad/dev/builds/Odin/vendor"
|
||||
},
|
||||
{
|
||||
"name": "src",
|
||||
"path": "src"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
package main
|
||||
|
||||
import rl "vendor:raylib"
|
||||
import "core:math"
|
||||
|
||||
Object :: struct {
|
||||
position: [2]f32,
|
||||
velocity: [2]f32,
|
||||
}
|
||||
|
||||
Player :: struct {
|
||||
using object: Object,
|
||||
direction: f32,
|
||||
}
|
||||
|
||||
main :: proc() {
|
||||
rl.InitWindow(800, 600, "Torpedo Bots")
|
||||
rl.SetTargetFPS(60)
|
||||
|
||||
ship := rl.LoadTexture("assets/ship.png")
|
||||
defer rl.UnloadTexture(ship)
|
||||
player := Player{}
|
||||
|
||||
for !rl.WindowShouldClose() {
|
||||
delta := rl.GetFrameTime()
|
||||
if rl.IsKeyDown(rl.KeyboardKey.UP) {
|
||||
player.velocity = rl.Vector2MoveTowards(player.velocity, 300 * rl.Vector2Rotate({1,0}, math.to_radians(player.direction)), 700 * delta)
|
||||
|
||||
}
|
||||
if rl.IsKeyDown(rl.KeyboardKey.LEFT) {
|
||||
player.direction -= 360 * delta
|
||||
}
|
||||
if rl.IsKeyDown(rl.KeyboardKey.RIGHT) {
|
||||
player.direction += 360 * delta
|
||||
}
|
||||
player.position += player.velocity * delta
|
||||
|
||||
|
||||
using rl
|
||||
{
|
||||
BeginDrawing()
|
||||
ClearBackground(RAYWHITE)
|
||||
|
||||
DrawTexturePro(ship, {0, 0, 32, 32}, {player.position.x, player.position.y, 32, 32}, {16, 16}, player.direction + 90, WHITE)
|
||||
EndDrawing()
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue