Я пытаюсь сделать то, что делал сотню раз с cocos2d, но с cocos2d-x мне кажется, что мне повезло меньше.
Если я сделаю
CCsequence *squence = CCSequence::create(someAction1, someAction2, NULL);
компилятор говорит:
Нет подходящей функции для вызова ‘create’
Я нашел эту проблему по всему интернету, но без какого-либо решения. Кстати, если я сделаю простое действие, как:
CCAction *action = CCMoveTo::create(5.0f, CCPointMake(0,0));
sprite->runAction(action);
действие даже не вызывается, и спрайт не равен нулю (я напечатал его размер и т. д.), печатая информацию об этом спрайте, это именно тот объект, который должен быть
Попробуй это:
CCFiniteTimeAction *action = CCMoveTo::create(x, (y,z));
CCsequence *squence = CCSequence::create(action, NULL);
Я думаю, что ошибка в том, что CCSequence ожидает классы CCFiniteTimeAction, но вы объявляете их как CCAction, что заставляет компилятор думать, что вы передаете неправильный тип, жалуясь на то, что нет функции create, которая принимает CCAction в качестве параметров.
Вы можете попробовать вот так
CCMoveBy *action = CCMoveBy::create(.5, CCPointMake(ball->getPositionX(), ball->getPositionY()+100));
CCMoveBy* action_back = (CCMoveBy*)action->reverse();
ball->runAction(CCSequence::create(action, action_back, NULL));
мяч спрайт