в настоящее время я использую touch end для перемещения спрайта (также масштабирующегося при перемещении)
void Sample::move(CCSprite* sprite){
moveTo = CCMoveTo::create(0.5f,ccp(0, 3));
scale = CCScaleTo::create(0.5f, 0.0f);
sprite->runAction(CCSpawn::create(scale, moveTo, NULL));
}
примерно через 20 раз вызовите эту функцию, действие перемещения станет негладным.
Кто-нибудь может мне помочь, почему он стал не гладким?
Странные вещи случаются, когда вы называете действия, и действия уже выполнялись (нерегулярные движения распространены). Попробуйте вызвать stopAllActions()
перед runAction()
.