Add InQuadEasing and OutQuadEasing and make tasklists...
easing more natural
This commit is contained in:
@@ -167,6 +167,50 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
/*! \brief This class defines an easing with quadratic acceleration
|
||||
*/
|
||||
class InQuadEasing : public Easing
|
||||
{
|
||||
public:
|
||||
/*! \brief Calls Easing::Easing(val).
|
||||
*
|
||||
* \see Easing::Easing(float& val)
|
||||
*/
|
||||
InQuadEasing(float& val): Easing(val) {}
|
||||
|
||||
/*! \brief Implements the value calculation.
|
||||
*
|
||||
* \see Easing::updateValue()
|
||||
*/
|
||||
void updateValue()
|
||||
{
|
||||
float time_tmp = time_acc / duration;
|
||||
value = delta_value * time_tmp * time_tmp + start_value;
|
||||
}
|
||||
};
|
||||
|
||||
/*! \brief This class defines an easing with quadratic decceleration
|
||||
*/
|
||||
class OutQuadEasing : public Easing
|
||||
{
|
||||
public:
|
||||
/*! \brief Calls Easing::Easing(val).
|
||||
*
|
||||
* \see Easing::Easing(float& val)
|
||||
*/
|
||||
OutQuadEasing(float& val): Easing(val) {}
|
||||
|
||||
/*! \brief Implements the value calculation.
|
||||
*
|
||||
* \see Easing::updateValue()
|
||||
*/
|
||||
void updateValue()
|
||||
{
|
||||
float time_tmp = time_acc / duration;
|
||||
value = (-delta_value) * time_tmp * (time_tmp - 2.0f) + start_value;
|
||||
}
|
||||
};
|
||||
|
||||
/*! \brief This class defines an easing with quadratic acceleration and decceleration.
|
||||
*/
|
||||
class InOutQuadEasing : public Easing
|
||||
|
||||
@@ -81,8 +81,8 @@ protected:
|
||||
string fileName;
|
||||
|
||||
float vPos;
|
||||
InOutQuadEasing vPosInEasing;
|
||||
InOutQuadEasing vPosOutEasing;
|
||||
OutQuadEasing vPosInEasing;
|
||||
InQuadEasing vPosOutEasing;
|
||||
|
||||
int mState;
|
||||
JQuad * mBg[9];
|
||||
|
||||
@@ -381,7 +381,7 @@ void TaskList::Start()
|
||||
{
|
||||
mState = TASKS_IN;
|
||||
vPos = -SCREEN_HEIGHT; //Offscreen
|
||||
vPosInEasing.start(0.0f, 2.0f);
|
||||
vPosInEasing.start(0.0f, 1.0f);
|
||||
|
||||
if (!mBgTex)
|
||||
{
|
||||
@@ -412,7 +412,7 @@ void TaskList::Start()
|
||||
void TaskList::End()
|
||||
{
|
||||
mState = TASKS_OUT;
|
||||
vPosOutEasing.start(float(-SCREEN_HEIGHT), 2.0f);
|
||||
vPosOutEasing.start(float(-SCREEN_HEIGHT), 0.9f);
|
||||
}
|
||||
|
||||
void TaskList::passOneDay()
|
||||
|
||||
Reference in New Issue
Block a user