void FireBall::update() { checkTileMapCollision(); setPosition(xtemp, ytemp); animation.update(); if (dx == 0 && !hit) { setHit(); } if (hit && animation.hasPlayedOnce()) { remove = true; } }
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); }