added semi-infinite background

This commit is contained in:
2025-08-31 02:38:57 +02:00
parent 5d2244497f
commit 84cd82c8c0
+22 -2
View File
@@ -30,7 +30,9 @@ int main() {
camera.zoom = 1.0f;
raylib::Texture logo("./src/assets/playersprite.png");
Texture2D bg = LoadTexture("./src/assets/Dirt_01.png");
// background.height = 1080;
// background.width = 1920;
while (!window.ShouldClose())
{
@@ -48,10 +50,28 @@ int main() {
if (IsKeyDown(KEY_Q)) camera.zoom += 0.1f;
logo.Draw(Player.x, Player.y);
DrawText("Middle", 190, 200, 20, WHITE);
// Infinite Background
int bh = bg.height;
int bw = bg.width;
int offsetX = ((int)camera.target.x % bg.width);
int offsetY = ((int)camera.target.y % bg.height);
for (int i = -1; i <= GetScreenWidth() / bw + 1; i++) {
for (int j = -1; j <= GetScreenHeight() / bh + 1; j++) {
DrawTexture(
bg,
-offsetX + i * bw,
-offsetY + j * bh,
WHITE
);
}
}
logo.Draw(Player.x, Player.y);
EndMode2D();
EndDrawing();
}