Основи Cocos2d-x

Статті про розробку ігор за допомогою Cocos2d-x

Послідовності

Posted at — Mar 29, 2020

Якщо вам потрібно виконати кілька акцій одну за одною, на допомогу прийде клас Sequence.

Наприклад, синій корабель за помовчанням створюється “носом доверху”. Щоб зобразити його “переліт” направо, спочатку треба зробити поворот на 90 градусів, а вже потім переміщувати.

Для того, щоб це спрацювало, треба створити акції RotateTo та MoveTo, а потім об'єднати їх у послідовність:

RotateBy* rotateBy = RotateBy::create(2, 90);
MoveBy* moveBy = MoveBy::create(4, Vec2(160,0));

Sequence* seq = Sequence::create(rotateBy, moveBy, nullptr);

blueShip->runAction(seq);

Фабричний метод, який створює Sequence, може отримувати будь-яке число вказівників на об'єкти-нащадки Action, а останнім обов'язково має бути nullptr. Sequence виконає акції одна за одною, приблизно так:

Послідовне виконання акцій

Також у Cocos2d-x є кілька “службових” акцій, які часто використовуються у побудові послідовностей: