void FireBall::update()
{
	checkTileMapCollision();
	setPosition(xtemp, ytemp);
	animation.update();

	if (dx == 0 && !hit)
	{
		setHit();
	}

	if (hit && animation.hasPlayedOnce())
	{
		remove = true;
	}
}	
Beispiel #2
0
QPointF Ball::calculateNewPos(int x)
{
    double newX=x+moveByX,newY;
    double midw=viewWidth/2;

    newY=(newX-midw)*(newX-midw)/randHeight;

    if(isNotPositionIn(newX, newY, viewWidth, viewHeight)) {
        randHeight=(qrand()%500)+100;
        setBrush(Qt::blue);

        if(isHit()){
            emit increasePoint(300);
            setHit(false);
        }
        //Rest Position
        return QPointF(20,newY);

    }
    return QPointF(newX,newY);
}
void TaikoSkin::begin(int course, int branch)
{
	m_soulAni->changeAction(course >= 3 ? "40" : "30");
	m_soulAni->play();
	if(m_soulAni->getReferencePointCount() >= 3)
	{
		for(int i=0; i<3; i++)
			m_soulAni->getReferencePoint(i, m_soulPos[i*2], m_soulPos[i*2+1]);
	}else
	{
		memset(m_soulPos, 0, sizeof(m_soulPos));
	}
	clearNote();
	setNoteCount(-1, -1);
	m_hitFlash->getNode()->setBranchVisible(false);
	setHit(false, false, false, false);
	setHitJudge(-1);
	for(int i=0; i<4; i++)
		m_hitDrum[i]->getNode()->setBranchVisible(false);
	setCombo(0);
	setSoul(0);
	setGogo(false);
	setBranch(branch);
}