2009-09-13 2 views
0

Я пишу карточную игру для iPhone, и я не уверен в лучшей стратегии отображения карт. У меня есть базовый прототип, который создает UIImageView, который можно перетаскивать для каждой карты с помощью фиктивного изображения. Я хотел использовать один большой UIImage, который содержит лица всех карт, а затем каждый перетаскиваемый UIImageView отображает часть этого изображения. Должно быть, я неправильно понимаю, что такое setBounds - я думал, что контролирует, какая часть основного изображения отображается. Итак, два вопроса:Стратегия изображения в приложении для iPhone

  1. Это правильный подход?
  2. Как отобразить только часть изображения?

ответ

1

В зависимости от вашего разрешения это может быть не самый лучший подход.

От Apple:

Вы должны избегать создания UIImage объектов, которые больше, чем 1024 х 1024 размера. Кроме того, большое количество памяти такого изображения будет потреблять, вы можете столкнуться с проблемами при использовании изображения в виде текстуры в OpenGL ES или при рисовании изображения на вид или слоя. Это ограничение размера не применяется , если вы выполняете манипуляции с кодом , например, изменение размера изображения размером более 1024 x 1024 пикселей путем рисования его в растровом изображении графический контекст. На самом деле, вы можете изменить размер изображения таким образом: (или разбить его на несколько меньших изображений), чтобы нарисовать его одному из вашим взглядам.

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

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