From fefe8fcda96db357ab4b93490d0453f4b3058cc6 Mon Sep 17 00:00:00 2001 From: Asdqwe Date: Wed, 30 Aug 2023 17:40:49 -0300 Subject: [PATCH] Fix examples/others/easings_testbed.c help instructions and small tweak (#3277) --- examples/others/easings_testbed.c | 22 +++++++++++----------- examples/others/easings_testbed.png | Bin 17338 -> 17443 bytes 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/examples/others/easings_testbed.c b/examples/others/easings_testbed.c index 227efd231..45f0efd0b 100644 --- a/examples/others/easings_testbed.c +++ b/examples/others/easings_testbed.c @@ -108,7 +108,7 @@ int main(void) InitWindow(screenWidth, screenHeight, "raylib [easings] example - easings testbed"); - Vector2 ballPosition = { 100.0f, 200.0f }; + Vector2 ballPosition = { 100.0f, 100.0f }; float t = 0.0f; // Current time (in any unit measure, but same unit as duration) float d = 300.0f; // Total time it should take to complete (duration) @@ -180,8 +180,8 @@ int main(void) // Movement computation if (!paused && ((boundedT && t < d) || !boundedT)) { - ballPosition.x = Easings[easingX].func(t, 100.0f, 700.0f - 100.0f, d); - ballPosition.y = Easings[easingY].func(t, 100.0f, 400.0f - 100.0f, d); + ballPosition.x = Easings[easingX].func(t, 100.0f, 700.0f - 170.0f, d); + ballPosition.y = Easings[easingY].func(t, 100.0f, 400.0f - 170.0f, d); t += 1.0f; } //---------------------------------------------------------------------------------- @@ -193,15 +193,15 @@ int main(void) ClearBackground(RAYWHITE); // Draw information text - DrawText(TextFormat("Easing x: %s", Easings[easingX].name), 0, FONT_SIZE*2, FONT_SIZE, LIGHTGRAY); - DrawText(TextFormat("Easing y: %s", Easings[easingY].name), 0, FONT_SIZE*3, FONT_SIZE, LIGHTGRAY); - DrawText(TextFormat("t (%c) = %.2f d = %.2f", (boundedT == true)? 'b' : 'u', t, d), 0, FONT_SIZE*4, FONT_SIZE, LIGHTGRAY); + DrawText(TextFormat("Easing x: %s", Easings[easingX].name), 20, FONT_SIZE, FONT_SIZE, LIGHTGRAY); + DrawText(TextFormat("Easing y: %s", Easings[easingY].name), 20, FONT_SIZE*2, FONT_SIZE, LIGHTGRAY); + DrawText(TextFormat("t (%c) = %.2f d = %.2f", (boundedT == true)? 'b' : 'u', t, d), 20, FONT_SIZE*3, FONT_SIZE, LIGHTGRAY); // Draw instructions text - DrawText("Use ENTER to play or pause movement, use SPACE to restart", 0, GetScreenHeight() - FONT_SIZE*2, FONT_SIZE, LIGHTGRAY); - DrawText("Use D and W or A and S keys to change duration", 0, GetScreenHeight() - FONT_SIZE*3, FONT_SIZE, LIGHTGRAY); - DrawText("Use LEFT or RIGHT keys to choose easing for the x axis", 0, GetScreenHeight() - FONT_SIZE*4, FONT_SIZE, LIGHTGRAY); - DrawText("Use UP or DOWN keys to choose easing for the y axis", 0, GetScreenHeight() - FONT_SIZE*5, FONT_SIZE, LIGHTGRAY); + DrawText("Use ENTER to play or pause movement, use SPACE to restart", 20, GetScreenHeight() - FONT_SIZE*2, FONT_SIZE, LIGHTGRAY); + DrawText("Use Q and W or A and S keys to change duration", 20, GetScreenHeight() - FONT_SIZE*3, FONT_SIZE, LIGHTGRAY); + DrawText("Use LEFT or RIGHT keys to choose easing for the x axis", 20, GetScreenHeight() - FONT_SIZE*4, FONT_SIZE, LIGHTGRAY); + DrawText("Use UP or DOWN keys to choose easing for the y axis", 20, GetScreenHeight() - FONT_SIZE*5, FONT_SIZE, LIGHTGRAY); // Draw ball DrawCircleV(ballPosition, 16.0f, MAROON); @@ -226,4 +226,4 @@ static float NoEase(float t, float b, float c, float d) d += burn; return b; -} \ No newline at end of file +} diff --git a/examples/others/easings_testbed.png b/examples/others/easings_testbed.png index fb0538531057f5e78e25186ba6023d4956f1db0c..05f63acdda92d4497df752a7768e01c7fbcb781e 100644 GIT binary patch literal 17443 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 literal 17338 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYU_8XZ#=yWJp1k%11A}v;r;B4qMO^ZqUteF> zw*?wVF)dcaL6mSXF1r{Y$J=;OKmselSk-zUgFVG$ZExFw42~Wwgh5Z4gPZU{?2*GaR-HNW5+6QQL;o4Z9$2*oe~&ASYbL;l7@>10Ntx2pM&P7GYPk8ury}st1-ErS|OJ*rw+pnw}<950UTbcGylxeZC z!eY%T6Bak;1S~{Dp5g(f&6yj{n)FPW*?)119rmJAS(C*r-NEhhZ(L^*M;B<35d6m|1#vT zS2T<{iUwB9Mzi#=hem=4%L_54l=)4ruXvcwxGy=kg=gCqhj%=zEB`H+ZhK@`_njYd zXHR2yV}lGhs9z>x31x7|gM!*=rSFkIwz~c4NLC$D4It zLSPo>!qOjnU-w!sPCbP!4j*uUtIjDF*lY)hIcyh50M+vUCraGAa%-{StT1=12`a&a zrGp=A))ga=K5VT4kXe%J5^byUk7npeVQmaF9ux-$=gJ~H!D*26y`g8>Mr;WmB*yrw z{lE*J6B(myr;*czW+*vobF@HL`RHi6KeT6Hdc!zDBpRq zYI%tL!U-y6Eb}hRsx7IkTKjQ%xJ`hz%*C?@Me~l_GLQJ{|1NIE!AI{e8dadV+k_

cMgz*U}A_TAt?M7(J4w7@Q{5dpPAWs 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 B^_u_y