Скажем, у меня есть 3 CALayers (квадраты разных цветов, например). И я хочу, чтобы выполнить следующую анимацию:Как я могу группировать и группировать основные анимации для разных объектов?
layer1 одновременно транслирует и чешуйки из положения А в положение В.
После layer1 находится в новом положении и имеет новый размер, layer2 и 3 одновременно переводить с позиций C и D в позиции E и F соответственно. Эти слои (2 и 3) также исчезают, когда они переводятся в E и F. Но layer2 также масштабируется по мере его перевода, а layer3 просто преобразует (но с CAKeyframeAnimation, так что, когда он достигает точки F, он оказывает немного бодрящий эффект вверх).
Для слоя 1, я могу:
- создать CABasicAnimation с единственной установкой времени, установленного в, скажем, 1, и добавить его в layer1 для ключ «преобразования» создание транслят
- масштаб преобразования и применить его к слою
для layer2 то же самое, как для layer1, но и установив непрозрачность.
Для layer3 я бы создал анимацию ключевого кадра. А также установите непрозрачность.
Из сказанного выше:
Похоже вызова LAYER2 SetTransform: затем setOpacity: результаты одновременных анимаций. Но разве это правильный способ убедиться, что они одновременно, или я должен использовать что-то вроде CAAnimationGroup?
Имеет смысл переводить и масштабировать конкатенирование матриц? Имеет ли смысл использовать матрицы вместо установки позиций?
Как связать их так, чтобы анимации для слоев layer2 и layer3 не запускались до тех пор, пока не будет выполнен слой1, а затем преобразование и непрозрачность слоя2 происходят одновременно с анимацией ключевого кадра и непрозрачности layer3?