2009-04-17 3 views
0

Я пытаюсь написать головоломку iPhone Air Hockey (как). Когда пользователь касается экрана, я перемещаю «шайбу», размещая центр UIImageView, где находится сенсорный центр.Почему вручную перемещается UIImageView медленно?

Также я перемещаю шайбу (другой UIImageView) с помощью таймера. Этот метод медленный и шаткий. Я знаю, что могу получить производительность из OpenGL ES, но я не хочу, чтобы это помогло, если я могу помочь.

Я также хотел бы воспользоваться движком анимации для специальных эффектов и т. Д. Как я могу вручную перемещать весла и шайбу на таймер и получать лучшую производительность. Или мне просто нужно использовать OpenGL ES для этого?

+2

Какова ваша скорость обновления таймера? У изображений есть прозрачность? Вы пытались включить непрозрачный атрибут? Я использую тот же подход (перемещение UIImageViews), и, похоже, он работает отлично. – FogleBird

+1

Вы пробовали рисовать шайбу (в drawRect) вручную, а не использовать изображение? Я согласен с г-ном Бердом - время таймера кажется ключевым - и любой другой код, который вы считаете возможным опубликовать. –

+0

Как вы устанавливаете скорость обновления таймера? – pgb

ответ

3

Или мне просто нужно принять OpenGL?

Нет среднего уровня: CoreAnimation.

Мэтт Галлахер имеет demo game (для Mac), который использует Core Animation для отображения спрайтов. Вы не увидите такой же производительности на iPhone, как настольный компьютер, но ваша игра намного проще, чем его пример.

Смежные вопросы