Вам следует подумать о том, чтобы сделать две копии изображения, повернуть одну и замаскировать их обе, чтобы их можно было разместить рядом друг с другом в форме буквы L.
Используя эту технику, вы будете делать два перемещения одновременно (перемещая маску и основное изображение) к обоим изображениям A и T. Но обратите внимание, что вращение не будет анимировано. Вы немедленно поместите изображение T в повернутое состояние и просто покажете его, переместив его под маску (одновременно делая противоположное на изображении A, чтобы скрыть его). Таким образом, вы на самом деле не объединяете перемещение и вращение в одну анимацию, а используете просто перемещение с маской как на исходном изображении (A), так и на повернутой копии (T).
Вам нужно будет замаскировать левую сторону одного и правую сторону другого. Форма маски должна иметь противоположный угол 45 градусов на обоих, затем вы можете соединить эти угловые края вместе, чтобы сформировать L. С течением времени вы просто перемещаете маску в каждом, пока первое изображение полностью не исчезнет, и вы осталось с вашим конечным состоянием.
Маскирующая часть - сложная часть. См. этот ответ о маскировании UIImage с помощью CoreGraphics: маскирование UIImage
Маска PNG будет в основном просто прямоугольником с одной стороной под углом 45 градусов. Вы можете создать это в редакторе изображений по вашему выбору (Photoshop, GIMP, Acorn).
Примечание: этот подход создаст острый край в углу. Другой подход состоит в том, чтобы деформировать пиксели вокруг этого угла, когда они перемещаются от вертикального движения вниз к горизонтальному движению вправо. (Я думаю) Это было бы намного сложнее.
person
RickDT
schedule
04.05.2011