2017-10-19 00:50:04 +08:00
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "enodes.h"
|
|
|
|
|
|
#include "etools.h"
|
|
|
|
|
|
|
|
|
|
|
|
namespace e2d
|
|
|
|
|
|
{
|
|
|
|
|
|
|
2017-10-19 12:47:36 +08:00
|
|
|
|
class EActionTwo;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
class EActionLoop;
|
2017-10-19 12:47:36 +08:00
|
|
|
|
class EActionSequence;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
class EActionTwoAtSameTime;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
|
|
|
|
|
class EAction :
|
|
|
|
|
|
public EObject
|
|
|
|
|
|
{
|
|
|
|
|
|
friend EActionManager;
|
2017-10-19 12:47:36 +08:00
|
|
|
|
friend EActionTwo;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
friend EActionLoop;
|
2017-10-19 12:47:36 +08:00
|
|
|
|
friend EActionSequence;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
friend EActionTwoAtSameTime;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
EAction();
|
|
|
|
|
|
|
|
|
|
|
|
virtual ~EAction();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
virtual bool isRunning();
|
2017-10-19 12:47:36 +08:00
|
|
|
|
|
2017-10-19 00:50:04 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void start();
|
2017-10-19 12:47:36 +08:00
|
|
|
|
|
2017-10-19 00:50:04 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void resume();
|
2017-10-19 12:47:36 +08:00
|
|
|
|
|
2017-10-19 00:50:04 +08:00
|
|
|
|
// <20><>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void pause();
|
2017-10-19 12:47:36 +08:00
|
|
|
|
|
2017-10-19 00:50:04 +08:00
|
|
|
|
// ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void stop();
|
2017-10-19 12:47:36 +08:00
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ȡһ<C8A1><D2BB><EFBFBD>µĿ<C2B5><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual EAction * clone() const = 0;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡһ<C8A1><D2BB><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual EAction * reverse() const;
|
|
|
|
|
|
|
2017-10-19 12:47:36 +08:00
|
|
|
|
// <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>ÿһ֡<D2BB><D6A1>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void setInterval(
|
|
|
|
|
|
LONGLONG milliSeconds
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-19 00:50:04 +08:00
|
|
|
|
// <20><>ȡִ<C8A1>иö<D0B8><C3B6><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>
|
|
|
|
|
|
virtual ENode * getTarget();
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void _init();
|
|
|
|
|
|
|
|
|
|
|
|
// ִ<>ж<EFBFBD><D0B6><EFBFBD>
|
2017-10-19 12:48:58 +08:00
|
|
|
|
virtual void _callOn() = 0;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
virtual bool _isEnding();
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
|
|
|
|
|
virtual void _reset();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD>״̬
|
2017-10-19 12:48:58 +08:00
|
|
|
|
virtual void _wait();
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>
|
2017-10-19 12:48:58 +08:00
|
|
|
|
virtual void _notify();
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
bool m_bRunning;
|
|
|
|
|
|
bool m_bWaiting;
|
|
|
|
|
|
bool m_bEnding;
|
|
|
|
|
|
bool m_bInit;
|
|
|
|
|
|
ENode * m_pTarget;
|
|
|
|
|
|
EScene * m_pParentScene;
|
|
|
|
|
|
LONGLONG m_nAnimationInterval;
|
|
|
|
|
|
std::chrono::steady_clock::time_point m_nLast;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-19 12:47:36 +08:00
|
|
|
|
class EAnimation :
|
2017-10-19 00:50:04 +08:00
|
|
|
|
public EAction
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
EAnimation(
|
|
|
|
|
|
float duration
|
|
|
|
|
|
);
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20>ж϶<D0B6><CFB6><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
bool _isEnd() const;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
// <20>ж<EFBFBD><D0B6><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7>㹻
|
2017-10-19 00:50:04 +08:00
|
|
|
|
bool _isDelayEnough();
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _init() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _reset() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
LONGLONG m_nDuration;
|
|
|
|
|
|
LONGLONG m_nTotalDuration;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-19 12:47:36 +08:00
|
|
|
|
class EActionMoveBy :
|
|
|
|
|
|
public EAnimation
|
2017-10-19 00:50:04 +08:00
|
|
|
|
{
|
|
|
|
|
|
public:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD>
|
|
|
|
|
|
EActionMoveBy(
|
|
|
|
|
|
float duration, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */
|
|
|
|
|
|
EVec vector /* λ<><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
);
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual EActionMoveBy * clone() const override;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>涯<EFBFBD><E6B6AF>
|
|
|
|
|
|
virtual EActionMoveBy * reverse() const override;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _init() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
// ִ<>ж<EFBFBD><D0B6><EFBFBD>
|
|
|
|
|
|
virtual void _callOn() override;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _reset() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
EPoint m_BeginPos;
|
|
|
|
|
|
EVec m_MoveVector;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-19 12:47:36 +08:00
|
|
|
|
class EActionMoveTo :
|
|
|
|
|
|
public EActionMoveBy
|
2017-10-19 00:50:04 +08:00
|
|
|
|
{
|
|
|
|
|
|
public:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD>λ<EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD>
|
|
|
|
|
|
EActionMoveTo(
|
|
|
|
|
|
float duration, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */
|
|
|
|
|
|
EPoint pos /* λ<><CEBB><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
);
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual EActionMoveTo * clone() const override;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _init() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _reset() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
EPoint m_EndPos;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-19 12:47:36 +08:00
|
|
|
|
class EActionScaleBy :
|
|
|
|
|
|
public EAnimation
|
2017-10-19 00:50:04 +08:00
|
|
|
|
{
|
|
|
|
|
|
public:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD>
|
|
|
|
|
|
EActionScaleBy(
|
|
|
|
|
|
float duration, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */
|
|
|
|
|
|
float scaleX, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD>仯 */
|
|
|
|
|
|
float scaleY /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD>仯 */
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual EActionScaleBy * clone() const override;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>涯<EFBFBD><E6B6AF>
|
2017-10-19 12:47:36 +08:00
|
|
|
|
virtual EActionScaleBy * reverse() const override;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
protected:
|
|
|
|
|
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void _init() override;
|
|
|
|
|
|
|
|
|
|
|
|
// ִ<>ж<EFBFBD><D0B6><EFBFBD>
|
|
|
|
|
|
virtual void _callOn() override;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
|
|
|
|
|
virtual void _reset() override;
|
|
|
|
|
|
|
2017-10-19 00:50:04 +08:00
|
|
|
|
protected:
|
|
|
|
|
|
float m_nBeginScaleX;
|
|
|
|
|
|
float m_nBeginScaleY;
|
|
|
|
|
|
float m_nVariationX;
|
|
|
|
|
|
float m_nVariationY;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-19 12:47:36 +08:00
|
|
|
|
class EActionScaleTo :
|
|
|
|
|
|
public EActionScaleBy
|
2017-10-19 00:50:04 +08:00
|
|
|
|
{
|
|
|
|
|
|
public:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD>
|
|
|
|
|
|
EActionScaleTo(
|
|
|
|
|
|
float duration, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */
|
|
|
|
|
|
float scaleX, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
float scaleY /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
);
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual EActionScaleTo * clone() const override;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _init() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _reset() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
float m_nEndScaleX;
|
|
|
|
|
|
float m_nEndScaleY;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-19 12:47:36 +08:00
|
|
|
|
class EActionOpacityBy :
|
|
|
|
|
|
public EAnimation
|
2017-10-19 00:50:04 +08:00
|
|
|
|
{
|
|
|
|
|
|
public:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD>䶯<EFBFBD><E4B6AF>
|
|
|
|
|
|
EActionOpacityBy(
|
|
|
|
|
|
float duration, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */
|
|
|
|
|
|
float opacity /* <><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա仯ֵ */
|
|
|
|
|
|
);
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual EActionOpacityBy * clone() const override;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>涯<EFBFBD><E6B6AF>
|
|
|
|
|
|
virtual EActionOpacityBy * reverse() const override;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _init() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
// ִ<>ж<EFBFBD><D0B6><EFBFBD>
|
|
|
|
|
|
virtual void _callOn() override;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _reset() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
float m_nBeginVal;
|
|
|
|
|
|
float m_nVariation;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-19 12:47:36 +08:00
|
|
|
|
class EActionOpacityTo :
|
|
|
|
|
|
public EActionOpacityBy
|
2017-10-19 00:50:04 +08:00
|
|
|
|
{
|
|
|
|
|
|
public:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD>Ƚ<EFBFBD><C8BD>䶯<EFBFBD><E4B6AF>
|
|
|
|
|
|
EActionOpacityTo(
|
|
|
|
|
|
float duration, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */
|
|
|
|
|
|
float opacity /* <><CDB8><EFBFBD>Ƚ<EFBFBD><C8BD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>ֵ */
|
|
|
|
|
|
);
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual EActionOpacityTo * clone() const override;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _init() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _reset() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
float m_nEndVal;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
class EActionFadeIn :
|
2017-10-19 12:47:36 +08:00
|
|
|
|
public EActionOpacityTo
|
2017-10-19 00:50:04 +08:00
|
|
|
|
{
|
|
|
|
|
|
public:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>붯<EFBFBD><EBB6AF>
|
|
|
|
|
|
EActionFadeIn(
|
|
|
|
|
|
float duration /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */
|
|
|
|
|
|
) : EActionOpacityTo(duration, 1) {}
|
2017-10-19 00:50:04 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
class EActionFadeOut :
|
2017-10-19 12:47:36 +08:00
|
|
|
|
public EActionOpacityTo
|
2017-10-19 00:50:04 +08:00
|
|
|
|
{
|
|
|
|
|
|
public:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
EActionFadeOut(
|
|
|
|
|
|
float duration /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */
|
|
|
|
|
|
) : EActionOpacityTo(duration, 0) {}
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class EActionRotateBy :
|
|
|
|
|
|
public EAnimation
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>
|
|
|
|
|
|
EActionRotateBy(
|
|
|
|
|
|
float duration, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */
|
|
|
|
|
|
float rotation /* <20><>ת<EFBFBD>Ƕȱ仯ֵ */
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual EActionRotateBy * clone() const override;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>涯<EFBFBD><E6B6AF>
|
|
|
|
|
|
virtual EActionRotateBy * reverse() const override;
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void _init() override;
|
|
|
|
|
|
|
|
|
|
|
|
// ִ<>ж<EFBFBD><D0B6><EFBFBD>
|
|
|
|
|
|
virtual void _callOn() override;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
|
|
|
|
|
virtual void _reset() override;
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
float m_nBeginVal;
|
|
|
|
|
|
float m_nVariation;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class EActionRotateTo :
|
|
|
|
|
|
public EActionRotateBy
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>
|
|
|
|
|
|
EActionRotateTo(
|
|
|
|
|
|
float duration, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */
|
|
|
|
|
|
float rotation /* <20><>ת<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD>Ŀ<EFBFBD><C4BF>ֵ */
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual EActionRotateTo * clone() const override;
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void _init() override;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
|
|
|
|
|
virtual void _reset() override;
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
float m_nEndVal;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-19 12:47:36 +08:00
|
|
|
|
class EActionTwo :
|
2017-10-19 00:50:04 +08:00
|
|
|
|
public EAction
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
EActionTwo(
|
|
|
|
|
|
EAction * actionFirst, /* <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
EAction * actionSecond /* <20>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-19 12:47:36 +08:00
|
|
|
|
virtual ~EActionTwo();
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual EActionTwo * clone() const override;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>涯<EFBFBD><E6B6AF>
|
|
|
|
|
|
virtual EActionTwo * reverse(
|
|
|
|
|
|
bool actionReverse = true /* <20>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>Ƿ<EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>涯<EFBFBD><E6B6AF> */
|
|
|
|
|
|
) const;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _init() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
// ִ<>ж<EFBFBD><D0B6><EFBFBD>
|
|
|
|
|
|
virtual void _callOn() override;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _reset() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
EAction * m_pFirstAction;
|
|
|
|
|
|
EAction * m_pSecondAction;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-19 12:47:36 +08:00
|
|
|
|
class EActionSequence :
|
2017-10-19 00:50:04 +08:00
|
|
|
|
public EAction
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 12:47:36 +08:00
|
|
|
|
EActionSequence();
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
EActionSequence(
|
|
|
|
|
|
int number, /* ˳<><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
EAction * action1, /* <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
...
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-19 12:47:36 +08:00
|
|
|
|
virtual ~EActionSequence();
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>
|
|
|
|
|
|
void addAction(
|
|
|
|
|
|
EAction * action /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><CEB2> */
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual EActionSequence * clone() const override;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>涯<EFBFBD><E6B6AF>
|
|
|
|
|
|
virtual EActionSequence * reverse(
|
|
|
|
|
|
bool actionReverse = true /* <20>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>Ƿ<EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>涯<EFBFBD><E6B6AF> */
|
|
|
|
|
|
) const;
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void _init() override;
|
|
|
|
|
|
|
|
|
|
|
|
// ִ<>ж<EFBFBD><D0B6><EFBFBD>
|
|
|
|
|
|
virtual void _callOn() override;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
|
|
|
|
|
virtual void _reset() override;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
UINT m_nActionIndex;
|
|
|
|
|
|
std::vector<EAction*> m_vActions;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class EActionDelay :
|
|
|
|
|
|
public EAction
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
|
|
|
|
|
EActionDelay(
|
|
|
|
|
|
float duration /* <20>ӳ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>룩 */
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual EActionDelay * clone() const override;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _init() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
// ִ<>ж<EFBFBD><D0B6><EFBFBD>
|
|
|
|
|
|
virtual void _callOn() override;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _reset() override;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
class EActionTwoAtSameTime :
|
2017-10-19 00:50:04 +08:00
|
|
|
|
public EAction
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱִ<CAB1>еĶ<D0B5><C4B6><EFBFBD>
|
|
|
|
|
|
EActionTwoAtSameTime(
|
|
|
|
|
|
EAction * actionFirst, /* <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
EAction * actionSecond /* <20>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
virtual ~EActionTwoAtSameTime();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual EActionTwoAtSameTime * clone() const override;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>涯<EFBFBD><E6B6AF>
|
|
|
|
|
|
virtual EActionTwoAtSameTime * reverse(
|
|
|
|
|
|
bool actionReverse = true /* <20>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>Ƿ<EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>涯<EFBFBD><E6B6AF> */
|
|
|
|
|
|
) const;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _init() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
// ִ<>ж<EFBFBD><D0B6><EFBFBD>
|
|
|
|
|
|
virtual void _callOn() override;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _reset() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
EAction * m_pFirstAction;
|
|
|
|
|
|
EAction * m_pSecondAction;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
class EActionLoop :
|
2017-10-19 00:50:04 +08:00
|
|
|
|
public EAction
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
EActionLoop(
|
|
|
|
|
|
EAction * action /* ִ<><D6B4>ѭ<EFBFBD><D1AD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD> */
|
|
|
|
|
|
);
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
virtual ~EActionLoop();
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual EActionLoop * clone() const override;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _init() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
// ִ<>ж<EFBFBD><D0B6><EFBFBD>
|
|
|
|
|
|
virtual void _callOn() override;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _reset() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
EAction * m_Action;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-19 12:47:36 +08:00
|
|
|
|
class EActionFrames :
|
2017-10-19 00:50:04 +08:00
|
|
|
|
public EAction
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>
|
2017-10-19 12:47:36 +08:00
|
|
|
|
EActionFrames();
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>
|
|
|
|
|
|
EActionFrames(
|
|
|
|
|
|
LONGLONG frameDelay /* ֡<><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룩 */
|
|
|
|
|
|
);
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
virtual ~EActionFrames();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>֡
|
|
|
|
|
|
void addFrame(
|
|
|
|
|
|
ESpriteFrame * frame /* <20><><EFBFBD><EFBFBD>֡ */
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual EActionFrames * clone() const override;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>涯<EFBFBD><E6B6AF>
|
|
|
|
|
|
virtual EActionFrames * reverse() const override;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _init() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
// ִ<>ж<EFBFBD><D0B6><EFBFBD>
|
|
|
|
|
|
virtual void _callOn() override;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _reset() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
UINT m_nFrameIndex;
|
|
|
|
|
|
EVector<ESpriteFrame*> m_vFrames;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-19 12:47:36 +08:00
|
|
|
|
class EActionCallback :
|
2017-10-19 00:50:04 +08:00
|
|
|
|
public EAction
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD>ִ<EFBFBD>лص<D0BB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>
|
|
|
|
|
|
EActionCallback(
|
|
|
|
|
|
const std::function<void()> & callback /* <20>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
);
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ȡ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual EActionCallback * clone() const override;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
2017-10-19 12:48:58 +08:00
|
|
|
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _init() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
// ִ<>ж<EFBFBD><D0B6><EFBFBD>
|
|
|
|
|
|
virtual void _callOn() override;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _reset() override;
|
2017-10-19 12:48:58 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
std::function<void()> m_Callback;
|
2017-10-19 00:50:04 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
}
|