summaryrefslogtreecommitdiffhomepage
path: root/examples/web/textures/textures_sprite_button.c
diff options
context:
space:
mode:
Diffstat (limited to 'examples/web/textures/textures_sprite_button.c')
-rw-r--r--examples/web/textures/textures_sprite_button.c40
1 files changed, 20 insertions, 20 deletions
diff --git a/examples/web/textures/textures_sprite_button.c b/examples/web/textures/textures_sprite_button.c
index 529feec..f06989d 100644
--- a/examples/web/textures/textures_sprite_button.c
+++ b/examples/web/textures/textures_sprite_button.c
@@ -20,13 +20,13 @@
//----------------------------------------------------------------------------------
// Global Variables Definition
//----------------------------------------------------------------------------------
-int screenWidth = 800;
-int screenHeight = 450;
+const int screenWidth = 800;
+const int screenHeight = 450;
// NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required)
-Sound fxButton;
-Texture2D button;
+Sound fxButton = { 0 };
+Texture2D button = { 0 };
// Define frame rectangle for drawing
int frameHeight = 0;
@@ -46,32 +46,32 @@ Vector2 mousePoint = { 0.0f, 0.0f };
void UpdateDrawFrame(void); // Update and Draw one frame
//----------------------------------------------------------------------------------
-// Main Enry Point
+// Program Main Entry Point
//----------------------------------------------------------------------------------
-int main()
+int main(void)
{
// Initialization
//--------------------------------------------------------------------------------------
InitWindow(screenWidth, screenHeight, "raylib [textures] example - sprite button");
InitAudioDevice(); // Initialize audio device
-
+
fxButton = LoadSound("resources/buttonfx.wav"); // Load button sound
button = LoadTexture("resources/button.png"); // Load button texture
-
+
// Define frame rectangle for drawing
frameHeight = button.height/NUM_FRAMES;
sourceRec = (Rectangle){ 0, 0, button.width, frameHeight };
-
+
// Define button bounds on screen
btnBounds = (Rectangle){ screenWidth/2 - button.width/2, screenHeight/2 - button.height/NUM_FRAMES/2, button.width, frameHeight };
-
+
#if defined(PLATFORM_WEB)
emscripten_set_main_loop(UpdateDrawFrame, 0, 1);
#else
SetTargetFPS(60); // Set our game to run at 60 frames-per-second
//--------------------------------------------------------------------------------------
-
+
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
@@ -85,10 +85,10 @@ int main()
UnloadSound(fxButton); // Unload sound
CloseAudioDevice(); // Close audio device
-
+
CloseWindow(); // Close window and OpenGL context
//--------------------------------------------------------------------------------------
-
+
return 0;
}
@@ -101,7 +101,7 @@ void UpdateDrawFrame(void)
//----------------------------------------------------------------------------------
mousePoint = GetMousePosition();
btnAction = false;
-
+
// Check button state
if (CheckCollisionPointRec(mousePoint, btnBounds))
{
@@ -111,26 +111,26 @@ void UpdateDrawFrame(void)
if (IsMouseButtonReleased(MOUSE_LEFT_BUTTON)) btnAction = true;
}
else btnState = 0;
-
+
if (btnAction)
{
PlaySound(fxButton);
-
+
// TODO: Any desired action
}
-
+
// Calculate button frame rectangle to draw depending on button state
sourceRec.y = btnState*frameHeight;
//----------------------------------------------------------------------------------
-
+
// Draw
//----------------------------------------------------------------------------------
BeginDrawing();
-
+
ClearBackground(RAYWHITE);
DrawTextureRec(button, sourceRec, (Vector2){ btnBounds.x, btnBounds.y }, WHITE); // Draw button frame
-
+
EndDrawing();
//----------------------------------------------------------------------------------
}