summaryrefslogtreecommitdiffhomepage
path: root/examples/textures/textures_sprite_explosion.c
diff options
context:
space:
mode:
authorRay <[email protected]>2019-05-20 16:36:42 +0200
committerRay <[email protected]>2019-05-20 16:36:42 +0200
commitb525039e0ab8bcaa2fd6bde34c72a6405f88ae49 (patch)
tree08f1c79bfe693643564ed78202c9474b7eb83a79 /examples/textures/textures_sprite_explosion.c
parenta43a7980a30a52462956b23f2473e8ef8f38d1fb (diff)
downloadraylib-b525039e0ab8bcaa2fd6bde34c72a6405f88ae49.tar.gz
raylib-b525039e0ab8bcaa2fd6bde34c72a6405f88ae49.zip
Review ALL examples
Diffstat (limited to 'examples/textures/textures_sprite_explosion.c')
-rw-r--r--examples/textures/textures_sprite_explosion.c56
1 files changed, 28 insertions, 28 deletions
diff --git a/examples/textures/textures_sprite_explosion.c b/examples/textures/textures_sprite_explosion.c
index 47c994b0..58a8f6fc 100644
--- a/examples/textures/textures_sprite_explosion.c
+++ b/examples/textures/textures_sprite_explosion.c
@@ -11,23 +11,23 @@
#include "raylib.h"
-#define NUM_FRAMES 8
-#define NUM_LINES 6
+#define NUM_FRAMES 8
+#define NUM_LINES 6
-int main()
+int main(void)
{
// Initialization
//--------------------------------------------------------------------------------------
const int screenWidth = 800;
const int screenHeight = 450;
-
+
InitWindow(screenWidth, screenHeight, "raylib [textures] example - sprite explosion");
-
+
InitAudioDevice();
-
+
// Load explosion sound
Sound fxBoom = LoadSound("resources/boom.wav");
-
+
// Load explosion texture
Texture2D explosion = LoadTexture("resources/explosion.png");
@@ -36,72 +36,72 @@ int main()
int frameHeight = explosion.height/NUM_LINES; // Sprite one frame rectangle height
int currentFrame = 0;
int currentLine = 0;
-
+
Rectangle frameRec = { 0, 0, frameWidth, frameHeight };
Vector2 position = { 0, 0 };
-
+
bool active = false;
int framesCounter = 0;
-
+
SetTargetFPS(120);
//--------------------------------------------------------------------------------------
-
+
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
// Update
//----------------------------------------------------------------------------------
-
+
// Check for mouse button pressed and activate explosion (if not active)
if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON) && !active)
{
position = GetMousePosition();
active = true;
-
+
position.x -= frameWidth/2;
position.y -= frameHeight/2;
-
+
PlaySound(fxBoom);
}
-
+
// Compute explosion animation frames
if (active)
{
framesCounter++;
-
+
if (framesCounter > 2)
{
currentFrame++;
-
+
if (currentFrame >= NUM_FRAMES)
{
currentFrame = 0;
currentLine++;
-
+
if (currentLine >= NUM_LINES)
{
currentLine = 0;
active = false;
}
}
-
+
framesCounter = 0;
}
}
-
+
frameRec.x = frameWidth*currentFrame;
frameRec.y = frameHeight*currentLine;
//----------------------------------------------------------------------------------
-
+
// Draw
//----------------------------------------------------------------------------------
BeginDrawing();
-
+
ClearBackground(RAYWHITE);
-
+
// Draw explosion required frame rectangle
if (active) DrawTextureRec(explosion, frameRec, position, WHITE);
-
+
EndDrawing();
//----------------------------------------------------------------------------------
}
@@ -109,12 +109,12 @@ int main()
// De-Initialization
//--------------------------------------------------------------------------------------
UnloadTexture(explosion); // Unload texture
- UnloadSound(fxBoom); // Unload sound
-
+ UnloadSound(fxBoom); // Unload sound
+
CloseAudioDevice();
-
+
CloseWindow(); // Close window and OpenGL context
//--------------------------------------------------------------------------------------
-
+
return 0;
} \ No newline at end of file