Magic_Game/Easy2D/etransitions.h

153 lines
2.4 KiB
C
Raw Normal View History

#pragma once
#include "ebase.h"
namespace e2d
{
class ETransition :
public EObject
{
friend EApp;
protected:
// <20><><EFBFBD>浱ǰ<E6B5B1><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ϳ<EFBFBD><CDBF>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB>ı<EFBFBD><C4B1><EFBFBD>
virtual void _setTarget(
EScene * prev,
EScene * next,
bool &transitional
) = 0;
};
class ETransitionFade :
public ETransition
{
public:
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB5AD>ʽ<EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>
ETransitionFade(
float fadeOutDuration, /* ǰһ<C7B0><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */
float fadeInDuration /* <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB6AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */
);
protected:
// <20><><EFBFBD>浱ǰ<E6B5B1><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ϳ<EFBFBD><CDBF>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB>ı<EFBFBD><C4B1><EFBFBD>
virtual void _setTarget(
EScene * prev,
EScene * next,
bool &transitional
) override;
protected:
float m_fFadeOutDuration;
float m_fFadeInDuration;
};
2017-10-21 19:09:31 +08:00
class ETransitionEmerge :
public ETransition
{
public:
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>
ETransitionEmerge(
float emergeDuration /* <20><><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */
);
protected:
// <20><><EFBFBD>浱ǰ<E6B5B1><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ϳ<EFBFBD><CDBF>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB>ı<EFBFBD><C4B1><EFBFBD>
virtual void _setTarget(
EScene * prev,
EScene * next,
bool &transitional
) override;
protected:
float m_fEmergeDuration;
};
class ETransitionMove :
public ETransition
{
public:
enum MOVE_DIRECT
{
UP,
DOWN,
LEFT,
RIGHT
};
// <20><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>ʽ<EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>
ETransitionMove(
float moveDuration, /* <20><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */
MOVE_DIRECT direct /* <20><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD> */
);
protected:
// <20><><EFBFBD>浱ǰ<E6B5B1><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ϳ<EFBFBD><CDBF>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB>ı<EFBFBD><C4B1><EFBFBD>
virtual void _setTarget(
EScene * prev,
EScene * next,
bool &transitional
) override;
protected:
float m_fMoveDuration;
MOVE_DIRECT m_Direct;
};
class ETransitionScale :
public ETransition
{
public:
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>
ETransitionScale(
float scaleOutDuration, /* <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */
float scaleInDuration /* <20>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */
);
protected:
// <20><><EFBFBD>浱ǰ<E6B5B1><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ϳ<EFBFBD><CDBF>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB>ı<EFBFBD><C4B1><EFBFBD>
virtual void _setTarget(
EScene * prev,
EScene * next,
bool &transitional
) override;
protected:
float m_fScaleOutDuration;
float m_fScaleInDuration;
};
class ETransitionScaleEmerge :
public ETransition
{
public:
enum SCALE_EMERGE_MODE
{
ENTER,
BACK
};
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>ʽ<EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>
ETransitionScaleEmerge(
float duration, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */
SCALE_EMERGE_MODE mode /* <20><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD> */
);
protected:
// <20><><EFBFBD>浱ǰ<E6B5B1><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ϳ<EFBFBD><CDBF>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB>ı<EFBFBD><C4B1><EFBFBD>
virtual void _setTarget(
EScene * prev,
EScene * next,
bool &transitional
) override;
protected:
float m_fDuration;
SCALE_EMERGE_MODE m_Mode;
};
}