Action에 Speed를 두어 속도를 조절 할 수 있다.
m_magic0Vector.clear();
m_magic0Vector = this->getActionManager()->pauseAllRunningActions(); // pause 가능
for (Node* node : m_magic0Vector)
{
Speed* action = (Speed*)node->getActionByTag(MONSTER_MOVE_ACTION);
if (action)
{
action->setSpeed(2);
}
}
this->getActionManager()->resumeTargets(m_magic0Vector); // resume
위의 speed set 을 사용하기 위해서는 Speed*로 생성을 해야 한다.
auto action = MoveTo::create((pos.x - castle_x) / pixelPerSec, Point(castle_x, m_yPos[i]));
Speed* sAction = Speed::create(action, 1);
sAction->setTag(MONSTER_MOVE_ACTION);
sprEnemy->runAction(sAction);
전체적인 속도를 변경하고 싶으면 스케쥴러의 time scale을 조절한다.
this->getScheduler()->setTimeScale(2);
손쉽게 Slow motion 같은 기능을 구현 할 수 있다.
댓글 없음:
댓글 쓰기