Source

cocos2d-qt / Srcs / action.h

#ifndef ACTION_H
#define ACTION_H
#include <QPropertyAnimation>
#include <QDebug>
#include "node.h"

class Node;

class Action : public QObject
{
    Q_OBJECT

public:

    static Action* FuncCall(QObject* targeted,const char* slot);
    static Action* moveTo(float duration,qreal x,qreal y);
    static Action* moveBy(float duration,qreal x,qreal y);
    static Action* scaleTo(float duration,qreal scale);
    static Action* scaleBy(float duration,qreal scale);
    static Action* fadeTo(float duration,qreal value);
    static Action* fadeBy(float duration,qreal value);
    static Action* rotateTo(float duration,qreal angle);
    static Action* rotateBy(float duration,qreal angle);
    static Action* easein(Action* withAction,int rate = 4);
    static Action* easeout(Action* withAction,int rate = 4);
    static Action* easeinout(Action* withAction,int rate = 4);
    void setTarget(Node *targeteted);
    void stopAnimation();

private:
    enum actionType {
        actionTypeMoveTo = 0,
        actionTypeMoveBy,
        actionTypeFadeTo,
        actionTypeFadeBy,
        actionTypeScaleTo,
        actionTypeScaleBy,
        actionTypeRotateTo,
        actionTypeRotateBy,
        actionTypeFuncCall
    };
    QObject *target;
    Action();
    //this is the animation variable
    QPropertyAnimation animation;
    actionType actionTypeV;
    qreal endValue[2];
    const char* slotCall;
public slots:
    void delete_self();
signals:
    void animationFinished(Action *finishedAction);
};

#endif // ACTION_H
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.