示例#1
0
文件: sprite.cpp 项目: TeamBEAR/Gummi
Sprite::Sprite(QSize windowSize, QSize spriteSize) :
    Movable(windowSize, spriteSize)
{
    setPos(windowSize.width()/2-objectSize.width()/2,
           windowSize.height()/2-objectSize.height()/2);

    upFrames.append(new QPixmap("Res/1.png"));
    upFrames.append(new QPixmap("Res/10.png"));

    leftFrames.append(new QPixmap("Res/3.png"));
    leftFrames.append(new QPixmap("Res/11.png"));

    rightFrames.append(new QPixmap("Res/2.png"));
    rightFrames.append(new QPixmap("Res/12.png"));

    downFrames.append(new QPixmap("Res/4.png"));
    downFrames.append(new QPixmap("Res/6.png"));

    stoppedImage = new QPixmap("Res/5.png");

    setFrameNumber(0);

    // Create animation container
    spriteAnimation = new QPropertyAnimation(this, "frameNumber");

    // 25fps
    spriteAnimation->setDuration(160);
    spriteAnimation->setStartValue(0);
    spriteAnimation->setEndValue(2);
    spriteAnimation->setLoopCount(-1);
    spriteAnimation->start();

}
示例#2
0
    void onFrame( const ::zeq::Event& event )
    {
        const auto& frame = ::zeq::hbp::deserializeFrame( event );

        auto frameSettings = _config.getFrameData().getFrameSettings();
        auto& params = _config.getApplicationParameters();

        params.frames.x() = frame.start;
        frameSettings->setFrameNumber( frame.current );
        params.frames.y() = frame.end;
        params.animation = frame.delta;
        _config.postRedraw();
    }