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(); }
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(); }