summaryrefslogtreecommitdiffhomepage
path: root/examples/textures
diff options
context:
space:
mode:
authorRay <[email protected]>2019-04-11 16:53:02 +0200
committerRay <[email protected]>2019-04-11 16:53:02 +0200
commit6fc97643bf564ec2f616ba3114230c78ed1c265e (patch)
treede1c718c4d39fa92e1cf2d25c133c9ea37d6b08b /examples/textures
parent01367fcb1e1c9e00a74cbbe146d415fd64110d30 (diff)
downloadraylib-6fc97643bf564ec2f616ba3114230c78ed1c265e.tar.gz
raylib-6fc97643bf564ec2f616ba3114230c78ed1c265e.zip
new example: textures_background_scrolling
Diffstat (limited to 'examples/textures')
-rw-r--r--examples/textures/resources/cyberpunk_street_background.pngbin0 -> 7800 bytes
-rw-r--r--examples/textures/resources/cyberpunk_street_foreground.pngbin0 -> 18100 bytes
-rw-r--r--examples/textures/resources/cyberpunk_street_midground.pngbin0 -> 7867 bytes
-rw-r--r--examples/textures/textures_background_scrolling.c87
-rw-r--r--examples/textures/textures_background_scrolling.pngbin0 -> 42935 bytes
5 files changed, 87 insertions, 0 deletions
diff --git a/examples/textures/resources/cyberpunk_street_background.png b/examples/textures/resources/cyberpunk_street_background.png
new file mode 100644
index 00000000..624a4b14
--- /dev/null
+++ b/examples/textures/resources/cyberpunk_street_background.png
Binary files differ
diff --git a/examples/textures/resources/cyberpunk_street_foreground.png b/examples/textures/resources/cyberpunk_street_foreground.png
new file mode 100644
index 00000000..fb622db6
--- /dev/null
+++ b/examples/textures/resources/cyberpunk_street_foreground.png
Binary files differ
diff --git a/examples/textures/resources/cyberpunk_street_midground.png b/examples/textures/resources/cyberpunk_street_midground.png
new file mode 100644
index 00000000..643a85e7
--- /dev/null
+++ b/examples/textures/resources/cyberpunk_street_midground.png
Binary files differ
diff --git a/examples/textures/textures_background_scrolling.c b/examples/textures/textures_background_scrolling.c
new file mode 100644
index 00000000..2be0810a
--- /dev/null
+++ b/examples/textures/textures_background_scrolling.c
@@ -0,0 +1,87 @@
+/*******************************************************************************************
+*
+* raylib [textures] example - Background scrolling
+*
+* This example has been created using raylib 2.0 (www.raylib.com)
+* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
+*
+* Copyright (c) 2019 Ramon Santamaria (@raysan5)
+*
+********************************************************************************************/
+
+#include "raylib.h"
+
+int main()
+{
+ // Initialization
+ //--------------------------------------------------------------------------------------
+ int screenWidth = 800;
+ int screenHeight = 450;
+
+ InitWindow(screenWidth, screenHeight, "raylib [textures] example - background scrolling");
+
+ // NOTE: Be careful, background width must be equal or bigger than screen width
+ // if not, texture should be draw more than two times for scrolling effect
+ Texture2D background = LoadTexture("resources/cyberpunk_street_background.png");
+ Texture2D midground = LoadTexture("resources/cyberpunk_street_midground.png");
+ Texture2D foreground = LoadTexture("resources/cyberpunk_street_foreground.png");
+
+ float scrollingBack = 0;
+ float scrollingMid = 0;
+ float scrollingFore = 0;
+
+ SetTargetFPS(60);
+ //--------------------------------------------------------------------------------------
+
+ // Main game loop
+ while (!WindowShouldClose()) // Detect window close button or ESC key
+ {
+ // Update
+ //----------------------------------------------------------------------------------
+ scrollingBack -= 0.1f;
+ scrollingMid -= 0.5f;
+ scrollingFore -= 1.0f;
+
+ // NOTE: Texture is scaled twice its size, so it sould be considered on scrolling
+ if (scrollingBack <= -background.width*2) scrollingBack = 0;
+ if (scrollingMid <= -midground.width*2) scrollingMid = 0;
+ if (scrollingFore <= -foreground.width*2) scrollingFore = 0;
+ //----------------------------------------------------------------------------------
+
+ // Draw
+ //----------------------------------------------------------------------------------
+ BeginDrawing();
+
+ ClearBackground(GetColor(0x052c46ff));
+
+ // Draw background image twice
+ // NOTE: Texture is scaled twice its size
+ DrawTextureEx(background, (Vector2){ scrollingBack, 20 }, 0.0f, 2.0f, WHITE);
+ DrawTextureEx(background, (Vector2){ background.width*2 + scrollingBack, 20 }, 0.0f, 2.0f, WHITE);
+
+ // Draw midground image twice
+ DrawTextureEx(midground, (Vector2){ scrollingMid, 20 }, 0.0f, 2.0f, WHITE);
+ DrawTextureEx(midground, (Vector2){ midground.width*2 + scrollingMid, 20 }, 0.0f, 2.0f, WHITE);
+
+ // Draw foreground image twice
+ DrawTextureEx(foreground, (Vector2){ scrollingFore, 70 }, 0.0f, 2.0f, WHITE);
+ DrawTextureEx(foreground, (Vector2){ foreground.width*2 + scrollingFore, 70 }, 0.0f, 2.0f, WHITE);
+
+ DrawText("BACKGROUND SCROLLING & PARALLAX", 10, 10, 20, RED);
+ DrawText("(c) Cyberpunk Street Environment by Luis Zuno (@ansimuz)", screenWidth - 330, screenHeight - 20, 10, RAYWHITE);
+
+ EndDrawing();
+ //----------------------------------------------------------------------------------
+ }
+
+ // De-Initialization
+ //--------------------------------------------------------------------------------------
+ UnloadTexture(background); // Unload background texture
+ UnloadTexture(midground); // Unload midground texture
+ UnloadTexture(foreground); // Unload foreground texture
+
+ CloseWindow(); // Close window and OpenGL context
+ //--------------------------------------------------------------------------------------
+
+ return 0;
+} \ No newline at end of file
diff --git a/examples/textures/textures_background_scrolling.png b/examples/textures/textures_background_scrolling.png
new file mode 100644
index 00000000..d21e269d
--- /dev/null
+++ b/examples/textures/textures_background_scrolling.png
Binary files differ