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.
|
/*! \brief This class defines an easing with quadratic acceleration and decceleration.
|
||||||
*/
|
*/
|
||||||
class InOutQuadEasing : public Easing
|
class InOutQuadEasing : public Easing
|
||||||
|
|||||||
@@ -81,8 +81,8 @@ protected:
|
|||||||
string fileName;
|
string fileName;
|
||||||
|
|
||||||
float vPos;
|
float vPos;
|
||||||
InOutQuadEasing vPosInEasing;
|
OutQuadEasing vPosInEasing;
|
||||||
InOutQuadEasing vPosOutEasing;
|
InQuadEasing vPosOutEasing;
|
||||||
|
|
||||||
int mState;
|
int mState;
|
||||||
JQuad * mBg[9];
|
JQuad * mBg[9];
|
||||||
|
|||||||
@@ -381,7 +381,7 @@ void TaskList::Start()
|
|||||||
{
|
{
|
||||||
mState = TASKS_IN;
|
mState = TASKS_IN;
|
||||||
vPos = -SCREEN_HEIGHT; //Offscreen
|
vPos = -SCREEN_HEIGHT; //Offscreen
|
||||||
vPosInEasing.start(0.0f, 2.0f);
|
vPosInEasing.start(0.0f, 1.0f);
|
||||||
|
|
||||||
if (!mBgTex)
|
if (!mBgTex)
|
||||||
{
|
{
|
||||||
@@ -412,7 +412,7 @@ void TaskList::Start()
|
|||||||
void TaskList::End()
|
void TaskList::End()
|
||||||
{
|
{
|
||||||
mState = TASKS_OUT;
|
mState = TASKS_OUT;
|
||||||
vPosOutEasing.start(float(-SCREEN_HEIGHT), 2.0f);
|
vPosOutEasing.start(float(-SCREEN_HEIGHT), 0.9f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TaskList::passOneDay()
|
void TaskList::passOneDay()
|
||||||
|
|||||||
Reference in New Issue
Block a user