From 80b3c4cd2bef67c71970a6f4b6c54c6f23e4bcaa Mon Sep 17 00:00:00 2001 From: raysan5 Date: Thu, 2 Jun 2016 18:49:40 +0200 Subject: [PATCH] Review comments to be value-generic --- src/easings.h | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/src/easings.h b/src/easings.h index a8178f4a3..527970abf 100644 --- a/src/easings.h +++ b/src/easings.h @@ -9,21 +9,24 @@ * // This requires lots of memory on system. * How to use: * The four inputs t,b,c,d are defined as follows: -* t = current time in milliseconds -* b = starting position in only one dimension [X || Y || Z] your choice +* t = current time (in any unit measure, but same unit as duration) +* b = starting value to interpolate * c = the total change in value of b that needs to occur -* d = total time it should take to complete +* d = total time it should take to complete (duration) * * Example: -* float speed = 1.f; -* float currentTime = 0.f; -* float currentPos[2] = {0,0}; -* float finalPos[2] = {1,1}; -* float startPosition[2] = currentPos;//x,y positions -* while(currentPos[0] < finalPos[0]) -* currentPos[0] = EaseSineIn(currentTime, startPosition[0], startPosition[0]-finalPos[0], speed); -* currentPos[1] = EaseSineIn(currentTime, startPosition[1], startPosition[1]-finalPos[0], speed); -* currentTime += diffTime(); +* +* int currentTime = 0; +* int duration = 100; +* float startPositionX = 0.0f; +* float finalPositionX = 30.0f; +* float currentPositionX = startPositionX; +* +* while (currentPositionX < finalPositionX) +* { +* currentPositionX = EaseSineIn(currentTime, startPositionX, finalPositionX - startPositionX, duration); +* currentTime++; +* } * * A port of Robert Penner's easing equations to C (http://robertpenner.com/easing/) * @@ -87,7 +90,7 @@ #define EASEDEF extern #endif -#include +#include // Required for: sin(), cos(), sqrt(), pow() #ifdef __cplusplus extern "C" { // Prevents name mangling of functions