Game Design - повторно использовать свойства объектов? - PullRequest
2 голосов
/ 01 июля 2010

Я новичок в Obj C, но разработал много типов игр на Flash.У меня есть несколько квадратов (UIImageViews), которые имеют одинаковые свойства;

  • может быть обнаружено столкновение (преобразовано в CGRect)
  • может иметь фоновое изображение (image.png)
  • может установить переменную int для себя, чтобы установить состояние (0-3)
  • может быть типом квадрата, представленного другой переменной int (0-3)

Во Flash я мог создать экземпляр movieClip и определить его свойства для этого экземпляра.Затем я могу продублировать экземпляр и дать ему другое имя.Теперь все экземпляры могут иметь свои собственные свойства, установленные в зависимости от их собственного состояния в игре.

Как я могу сделать это в OBJ C. Есть ли способ определить объект, такой как квадрат UIImageView *, который такжеимеет CGRect.frame, свойство .background, переменную состояния int и переменную типа int?Затем, если я создам экземпляр и назову его square_01, square_02 и т. Д ... Возможно ли это?

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

Заранее спасибо,

1 Ответ

0 голосов
/ 01 июля 2010

Во Flash экземпляры MovieClip (или подкласса) действуют немного иначе, чем стандартные объекты. Они в основном предназначены для того, чтобы выступать как элементы «мира», так сказать, так, как вы хотите, с возможностью содержать много дополнительной информации, помимо представления и размещения изображений.

UIImageView не делает такой вещи. Он предназначен для отображения изображения в месте на экране, и это все. Вместо того, чтобы рассматривать его как Flash MovieClip, попробуйте создать отдельный класс (например, WorldElement). Дайте этому классу переменные для хранения всех данных, которые вы упомянули. Затем дайте ему метод, который каким-то образом преобразует эту информацию в видимую форму. Например, вы могли бы создать метод для создания UIImageView и передать его для просмотра изображения, хранящегося в экземпляре WorldElement.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...