Esempio n. 1
0
/**
 * updates the Player card with animation from stack to the playerhand
 * @brief Playground::updatePlayerCard
 * @param fromCard
 * @param toCard
 * @param withAnimation
 */
void Playground::updatePlayerCard(CardItem& fromCard, CardItem& toCard, bool withAnimation)
{
    fromCard.setPos(stack.getX(), stack.getY());
    addItem(fromCard.createImg());

    qreal x = toCard.getX();
    qreal y = toCard.getY();

    if (withAnimation) {
        QEventLoop pause;
        prepareNewAnimation(pause);
        addPositionAnimation(*fromCard.createImg(), *toCard.createImg());
        startAnimation();
        pause.exec();
    }
    if ((&toCard) != NULL) {
    }
    toCard = CardItem(fromCard);
    toCard.setPos(x, y);
    toCard.createImg()->setZValue(zValue);
    zValue++;
    addItem(toCard.createImg());

    update(sceneRect());
}
Esempio n. 2
0
/**
 * updates the Depot Card
 * @brief Playground::updateDepotCard
 * @param fromCard
 * @param toCard
 * @param withAnimation with Animation or without
 */
void Playground::updateDepotCard(CardItem& fromCard, CardItem& toCard, bool withAnimation)
{
    qreal x = toCard.getX();
    qreal y = toCard.getY();

    if (withAnimation) {
        QEventLoop pause;
        prepareNewAnimation(pause);
        addPositionAnimation(*fromCard.createImg(), *toCard.createImg());
        startAnimation();
        pause.exec(QEventLoop::AllEvents);
    }

    removeItem(toCard.createImg());
    toCard = CardItem(fromCard.getCard());
    toCard.setPos(x, y);
    toCard.createImg()->setZValue(zValue);
    zValue++;
    addItem(toCard.createImg());

    update(sceneRect());
}
Esempio n. 3
0
	void SVICurtainEffector::setAnimation(){

		setOffsetDuration(mFullTimeDuration);

		SVIInt slideCount;

		for(SVIInt i=0; i<mColumnCount; i++){
			for(SVIInt j=0; j<mRowCount; j++){


				SVIPoint originPoint = mFromNslide[i][j]->getPosition();

				slideWidth = (mSizeSlide->getRegion().getSize().mWidth / mRowCount) * 0.5f;
				slideHeight = (mSizeSlide->getRegion().getSize().mHeight / mColumnCount) * 0.5f;

				switch(mDirectionType){
				case SVITransitionAnimation::LEFT:
					slideCount = mRowCount - 1 - j;
					break;

				case SVITransitionAnimation::RIGHT:
					slideCount = j;
					break;

				case SVITransitionAnimation::UP:
					slideCount = mColumnCount - 1 - i;
					break;

				case SVITransitionAnimation::DOWN:
					slideCount = i;
					break;

				}


				SVIAnimationSet* fromAniSet = new SVIAnimationSet(mSVIGLSurface);
				fromAniSet->mOffset = mGlovalOffsetDuration;
				fromAniSet->mDuration = mFullTimeDuration;
				fromAniSet->mRepeatCount = mRepeatCount;
				fromAniSet->mAutoReverse = mAutoReverse;
				fromAniSet->setInterpolator(SVIAnimation::ACCELERATE_DECELERATE);

				SVIAnimationSet* toAniSet = new SVIAnimationSet(mSVIGLSurface);
				toAniSet->mOffset =mGlovalOffsetDuration;
				toAniSet->mDuration = mFullTimeDuration;
				toAniSet->mRepeatCount = mRepeatCount;
				toAniSet->mAutoReverse = mAutoReverse;
				toAniSet->setInterpolator(SVIAnimation::ACCELERATE_DECELERATE);

				SVIInt offset = slideCount*offsetDuration + mGlovalOffsetDuration;



				switch(mDirectionType){


				case SVITransitionAnimation::LEFT:
					mFromNslide[i][j]->setPivotPoint(SVIPoint(1.0f, 0.5f));
					mToNslide[i][j]->setPivotPoint(SVIPoint(0.0f, 0.5f));

					addRotationAnimation(fromAniSet, SVIVector3(0.0f, 0.0f, 0.0f), SVIVector3(0.0f, rotationAngle, 0.0f), mSlideDuration, mOffsetDuration);
					addPositionAnimation(fromAniSet,SVIPoint(originPoint.mX + slideWidth, originPoint.mY), SVIPoint(originPoint.mX - slideWidth, originPoint.mY), mSlideDuration, mOffsetDuration);

					addRotationAnimation(toAniSet, SVIVector3(0.0f, -rotationAngle, 0.0f), SVIVector3(0.0f, 0.0f, 0.0f), mSlideDuration, mOffsetDuration);
					addPositionAnimation(toAniSet, SVIPoint(originPoint.mX + slideWidth, originPoint.mY), SVIPoint(originPoint.mX - slideWidth, originPoint.mY), mSlideDuration, mOffsetDuration);
					break;

				case SVITransitionAnimation::RIGHT:
					mFromNslide[i][j]->setPivotPoint(SVIPoint(0.0f, 0.5f));
					mToNslide[i][j]->setPivotPoint(SVIPoint(1.0f, 0.5f));

					addRotationAnimation(fromAniSet, SVIVector3(0.0f, 0.0f, 0.0f), SVIVector3(0.0f, -rotationAngle, 0.0f), mSlideDuration, mOffsetDuration);
					addPositionAnimation(fromAniSet, SVIPoint(originPoint.mX - slideWidth, originPoint.mY), SVIPoint(originPoint.mX + slideWidth, originPoint.mY), mSlideDuration, mOffsetDuration);

					addRotationAnimation(toAniSet, SVIVector3(0.0f, rotationAngle, 0.0f), SVIVector3(0.0f, 0.0f, 0.0f), mSlideDuration, mOffsetDuration);
					addPositionAnimation(toAniSet, SVIPoint(originPoint.mX - slideWidth, originPoint.mY), SVIPoint(originPoint.mX + slideWidth, originPoint.mY), mSlideDuration, mOffsetDuration);
					break;

				case SVITransitionAnimation::UP:
					mFromNslide[i][j]->setPivotPoint(SVIPoint(0.5f, 1.0f));
					mToNslide[i][j]->setPivotPoint(SVIPoint(0.5f, 0.0f));

					addRotationAnimation(fromAniSet, SVIVector3(0.0f, 0.0f, 0.0f), SVIVector3(-rotationAngle, 0.0f, 0.0f), mSlideDuration, mOffsetDuration);
					addPositionAnimation(fromAniSet, SVIPoint(originPoint.mX, originPoint.mY + slideHeight), SVIPoint(originPoint.mX, originPoint.mY - slideHeight), mSlideDuration, mOffsetDuration);

					addRotationAnimation(toAniSet, SVIVector3(rotationAngle, 0.0f, 0.0f), SVIVector3(0.0f, 0.0f, 0.0f), mSlideDuration, mOffsetDuration);
					addPositionAnimation(toAniSet, SVIPoint(originPoint.mX , originPoint.mY + slideHeight), SVIPoint(originPoint.mX , originPoint.mY - slideHeight), mSlideDuration, mOffsetDuration);
					break;

				case SVITransitionAnimation::DOWN:
					mFromNslide[i][j]->setPivotPoint(SVIPoint(0.5f, 0.0f));
					mToNslide[i][j]->setPivotPoint(SVIPoint(0.5f, 1.0f));

					addRotationAnimation(fromAniSet, SVIVector3(0.0f, 0.0f, 0.0f), SVIVector3(rotationAngle, 0.0f, 0.0f), mSlideDuration, mOffsetDuration);
					addPositionAnimation(fromAniSet, SVIPoint(originPoint.mX, originPoint.mY - slideHeight), SVIPoint(originPoint.mX, originPoint.mY + slideHeight), mSlideDuration, mOffsetDuration);

					addRotationAnimation(toAniSet, SVIVector3(-rotationAngle, 0.0f, 0.0f), SVIVector3(0.0f, 0.0f, 0.0f), mSlideDuration, mOffsetDuration);
					addPositionAnimation(toAniSet, SVIPoint(originPoint.mX , originPoint.mY - slideHeight), SVIPoint(originPoint.mX , originPoint.mY + slideHeight), mSlideDuration, mOffsetDuration);
					break;


				}


				addZPositionAnimation(fromAniSet, -0.01f, 0.01f, mSlideDuration, mOffsetDuration);
				addZPositionAnimation(toAniSet, 0.01f, -0.01f, mSlideDuration, mOffsetDuration);

				mFromNslide[i][j]->addAnimation(fromAniSet);

				mToNslide[i][j]->addAnimation((toAniSet));

			}
		}

	}
	void SVIRotateCubeEffector::setAnimation(){

		SVIPoint originPoint = mFromNslide[0][0]->getPosition();

		slideWidth = (mSizeSlide->getRegion().getSize().mWidth / mRowCount) * 0.5f;
		slideHeight = (mSizeSlide->getRegion().getSize().mHeight / mColumnCount) * 0.5f;


		SVIAnimationSet* fromAniSet = new SVIAnimationSet(mSVIGLSurface);
		fromAniSet->mDuration = mFullTimeDuration;
		fromAniSet->mRepeatCount = mRepeatCount;
		fromAniSet->mOffset = mOffsetDuration + mGlovalOffsetDuration;
		fromAniSet->mAutoReverse = mAutoReverse;
		fromAniSet->setInterpolator(SVIAnimation::ACCELERATE_DECELERATE);
		fromAniSet->shareAnimationInfo(true);

		SVIAnimationSet* toAniSet = new SVIAnimationSet(mSVIGLSurface);
		toAniSet->mDuration = mFullTimeDuration;
		toAniSet->mRepeatCount = mRepeatCount;
		toAniSet->mOffset = mOffsetDuration + mGlovalOffsetDuration;
		toAniSet->mAutoReverse = mAutoReverse;
		toAniSet->setInterpolator(SVIAnimation::ACCELERATE_DECELERATE);
		toAniSet->shareAnimationInfo(true);

		switch(mDirectionType){

		
		case SVITransitionAnimation::LEFT:
			mFromNslide[0][0]->setPivotPoint(SVIPoint(1.0f, 0.5f));
			mToNslide[0][0]->setPivotPoint(SVIPoint(0.0f, 0.5f));
			
			addRotationAnimation(fromAniSet, SVIVector3(0.0f, 0.0f, 0.0f), SVIVector3(0.0f, rotationAngle, 0.0f), mFullTimeDuration, mOffsetDuration + mGlovalOffsetDuration);
			addPositionAnimation(fromAniSet,SVIPoint(originPoint.mX + slideWidth, originPoint.mY), SVIPoint(originPoint.mX - slideWidth, originPoint.mY), mFullTimeDuration, mOffsetDuration + mGlovalOffsetDuration);

			addRotationAnimation(toAniSet, SVIVector3(0.0f, -rotationAngle, 0.0f), SVIVector3(0.0f, 0.0f, 0.0f), mFullTimeDuration, mOffsetDuration + mGlovalOffsetDuration);
			addPositionAnimation(toAniSet, SVIPoint(originPoint.mX + slideWidth, originPoint.mY), SVIPoint(originPoint.mX - slideWidth, originPoint.mY), mFullTimeDuration, mOffsetDuration + mGlovalOffsetDuration);
			break;

		case SVITransitionAnimation::RIGHT:
			mFromNslide[0][0]->setPivotPoint(SVIPoint(0.0f, 0.5f));
			mToNslide[0][0]->setPivotPoint(SVIPoint(1.0f, 0.5f));

			addRotationAnimation(fromAniSet, SVIVector3(0.0f, 0.0f, 0.0f), SVIVector3(0.0f, -rotationAngle, 0.0f), mFullTimeDuration, mOffsetDuration + mGlovalOffsetDuration);
			addPositionAnimation(fromAniSet, SVIPoint(originPoint.mX - slideWidth, originPoint.mY), SVIPoint(originPoint.mX + slideWidth, originPoint.mY), mFullTimeDuration, mOffsetDuration + mGlovalOffsetDuration);

			addRotationAnimation(toAniSet, SVIVector3(0.0f, rotationAngle, 0.0f), SVIVector3(0.0f, 0.0f, 0.0f), mFullTimeDuration, mOffsetDuration + mGlovalOffsetDuration);
			addPositionAnimation(toAniSet, SVIPoint(originPoint.mX - slideWidth, originPoint.mY), SVIPoint(originPoint.mX + slideWidth, originPoint.mY), mFullTimeDuration, mOffsetDuration + mGlovalOffsetDuration);
			break;

		case SVITransitionAnimation::UP:
			mFromNslide[0][0]->setPivotPoint(SVIPoint(0.5f, 1.0f));
			mToNslide[0][0]->setPivotPoint(SVIPoint(0.5f, 0.0f));
			
			addRotationAnimation(fromAniSet, SVIVector3(0.0f, 0.0f, 0.0f), SVIVector3(-rotationAngle, 0.0f, 0.0f), mFullTimeDuration, mOffsetDuration + mGlovalOffsetDuration);
			addPositionAnimation(fromAniSet, SVIPoint(originPoint.mX, originPoint.mY + slideHeight), SVIPoint(originPoint.mX, originPoint.mY - slideHeight), mFullTimeDuration, mOffsetDuration + mGlovalOffsetDuration);

			addRotationAnimation(toAniSet, SVIVector3(rotationAngle, 0.0f, 0.0f), SVIVector3(0.0f, 0.0f, 0.0f), mFullTimeDuration, mOffsetDuration + mGlovalOffsetDuration);
			addPositionAnimation(toAniSet, SVIPoint(originPoint.mX , originPoint.mY + slideHeight), SVIPoint(originPoint.mX , originPoint.mY - slideHeight), mFullTimeDuration, mOffsetDuration + mGlovalOffsetDuration);
			break;

		case SVITransitionAnimation::DOWN:
			mFromNslide[0][0]->setPivotPoint(SVIPoint(0.5f, 0.0f));
			mToNslide[0][0]->setPivotPoint(SVIPoint(0.5f, 1.0f));
			
			addRotationAnimation(fromAniSet, SVIVector3(0.0f, 0.0f, 0.0f), SVIVector3(rotationAngle, 0.0f, 0.0f), mFullTimeDuration, mOffsetDuration + mGlovalOffsetDuration);
			addPositionAnimation(fromAniSet, SVIPoint(originPoint.mX, originPoint.mY - slideHeight), SVIPoint(originPoint.mX, originPoint.mY + slideHeight), mFullTimeDuration, mOffsetDuration + mGlovalOffsetDuration);

			addRotationAnimation(toAniSet, SVIVector3(-rotationAngle, 0.0f, 0.0f), SVIVector3(0.0f, 0.0f, 0.0f), mFullTimeDuration, mOffsetDuration + mGlovalOffsetDuration);
			addPositionAnimation(toAniSet, SVIPoint(originPoint.mX , originPoint.mY - slideHeight), SVIPoint(originPoint.mX , originPoint.mY + slideHeight), mFullTimeDuration, mOffsetDuration + mGlovalOffsetDuration);
			break;

		}

		addZPositionAnimation(fromAniSet, -0.01f, 0.01f, mFullTimeDuration, mOffsetDuration + mGlovalOffsetDuration);
		addZPositionAnimation(toAniSet, 0.01f, -0.01f, mFullTimeDuration, mOffsetDuration + mGlovalOffsetDuration);

		mFromNslide[0][0]->addAnimation(fromAniSet);

		mToNslide[0][0]->addAnimation(toAniSet);
	}