у меня странная ситуация, когда я пытаюсь запустить мерцание как часть последовательности
на спрайтах Хотя метод getNumberOfRunningActions возвращает 1, спрайт не мигает.
где pMatchedSymbolArray — массив класса экстендета ReelSymbol Sprite
class ReelSymbol :public Sprite
{
public:
CREATE_FUNC(ReelSymbol);
ReelSymbol();
virtual bool init();
void setup();
static ReelSymbol* createWithSpriteFrameName(const std::string& spriteFrameName);private:
int getIntFromName(std::string key);
Settings* pSettings;};for(ssize_t a=0; a<pMatchedSymbolArray->count();a++)
{
auto actionBlink = Blink::create(2, 5);
auto repeat = Repeat::create(actionBlink, 2);
ReelSymbol* symbol = ((ReelSymbol*)pMatchedSymbolArray->getObjectAtIndex(a));
auto actionSequence = Sequence::create(
actionBlink,
DelayTime::create(2),
CallFunc::create( std::bind(&LinesManager::AnimationUnitCallback, this, symbol,pMatchedSymbolArray->count()) ),
NULL);
ReelSymbol* thisReelSymbol = ((ReelSymbol*)pMatchedSymbolArray->getObjectAtIndex(a));
thisReelSymbol->runAction(actionSequence);
int no = thisReelSymbol->getNumberOfRunningActions();
CCLOG("getNumberOfRunningActions: %d",no);
}void LinesManager::AnimationUnitCallback(Node* sender,int iMatchedSymbolArrayCount)
{}
спрайт мигает только если я бегу:
auto actionBlink = Blink::create(2, 5);
....
....
thisReelSymbol->runAction(actionBlink );
что тут может быть не так?
Если это проблема только с последней версией, то временное решение может использовать два действия одновременно.
Других решений пока нет …