Лучший способ реализовать анимацию на iPhone SDK? - PullRequest
3 голосов
/ 09 июня 2009

Я знаю, как реализовать базовую анимацию, перемещая / изменяя размер UIView. Однако следующие две анимации кажутся немного сложными.

1) Представьте себе автомобильную игру, в которой при нажатии на кнопку педали вращается спидометр. Как сделать вид анимации, где полоса «заполняется» круглой формой?

2) Вторую анимацию проще описать. Как сделать анимацию чисел, растущих там, где число скользит вниз, а сверху появляется новый номер, похожий на игровой автомат.

1 Ответ

6 голосов
/ 09 июня 2009

По вашему первому вопросу, я бы подумал, что CGAffineTransform был бы подходящим вариантом. Используя это, я думаю, что-то вроде этого может работать:

// BarView is a derived class from UIView that knows how to draw a "bar"
BarView view[NumBars];
for(int i = 0; i < NumBars; i++)
{
  // First place the view at the center of the instrument
  [view[i] setCenter:CGPointMake(InstrumentX, InstrumentY)];

  // Now translate the view InstrumentWidth units on the positive X-Axis
  CGAffineTransform translate = CGAffineTransformMakeTranslation(InstrumentWidth, 0);

  // Rotate the view about the origin by an angle related to which "bar" this is
  CGAffineTransform rotate = CGAffineTransformMakeRotation(i*AngleBetweenBars);

  // create a transform matrix from the translation and rotation matrices and apply it to the view
  [view[i] setTransform:CGAffineTransformConcat(translate, rotate)];   
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...