This repository has been archived on 2025-10-24. You can view files and clone it, but cannot push or open issues or pull requests.
Files
nub-lang-archive-2/examples/raylib/main.nub
nub31 03bab1fba5 ...
2025-10-22 13:45:33 +02:00

53 lines
1.3 KiB
Plaintext

import "raylib"
module "main"
extern "main" func main(argc: i64, argv: [?]cstring): i64
{
raylib::SetConfigFlags(4 | 64)
raylib::InitWindow(1600, 900, "Hi from nub-lang")
defer raylib::CloseWindow()
raylib::SetTargetFPS(240)
let width: i32 = 150
let height: i32 = 150
let x: i32 = raylib::GetScreenWidth() / 2 - (width / 2)
let y: i32 = raylib::GetScreenHeight() / 2 - (height / 2)
let direction: raylib::Vector2 = { x = 1 y = 1 }
let speed: f32 = 250
let bgColor: raylib::Color = { r = 0 g = 0 b = 0 a = 255 }
let color: raylib::Color = { r = 255 g = 255 b = 255 a = 255 }
while !raylib::WindowShouldClose()
{
if x <= 0 {
direction.x = 1
} else if x + width >= raylib::GetScreenWidth() {
direction.x = -1
}
if y <= 0 {
direction.y = 1
} else if y + height >= raylib::GetScreenHeight() {
direction.y = -1
}
x = x + @floatToInt(i32, direction.x * speed * raylib::GetFrameTime())
y = y + @floatToInt(i32, direction.y * speed * raylib::GetFrameTime())
raylib::BeginDrawing()
{
raylib::ClearBackground(bgColor)
raylib::DrawFPS(10, 10)
raylib::DrawRectangle(x, y, width, height, color)
}
raylib::EndDrawing()
}
return 0
}