2010-05-21 3 views
1

Я пытаюсь создать карточную игру со стандартной колодой карт. Мне нужно иметь возможность создавать новую карту на экране каждый раз, когда кто-то рисует карту из колоды, а затем может непрерывно перемещать ее на протяжении всего игрового процесса. У меня есть файлы изображений для каждой доступной в игре карты.Создание стандартной карточной игры (iPhone SDK)

Я попытался создать объект карты, который держал UIImageView для карты вместе с некоторыми другими базовыми данными, но мне не удалось вернуться к этой карте, чтобы переместить ее снова после первого касания. Правильно ли это было?

ответ

1

Если я правильно понял ваш вопрос, у вас возникли проблемы с поиском, с какой «картой» связано какое «представление» когда-нибудь позже, при использовании некоторого API, который передает вам объект вида. Я думаю, что ответ, если это так, заключается в том, что у вас есть свои зависимости вверх ногами. При использовании Model-View-Controller, в котором используется Cocoa, вы должны создать подкласс UIImageView, который содержит ссылку на ваш объект Card. Я бы сделал протокол (CardDelegate?) И реализовал протокол с вашим объектом карты (getValue, getSuit и т. Д.). У вашего пользовательского представления был бы метод, например. getCardDelegate, который возвращает делегат из вашего пользовательского представления. Делегат держит все государство за вашу карточку. Позже, когда вы получаете представление от некоторого API, вы можете отправлять сообщения своему делегату, чтобы изменить состояние своей программы, потому что представление относится к модели. Вы заметите, что это тот же шаблон, который использует интерфейс Builder: вы создаете представление, а затем связываете его с некоторым делегатом, который выполняет всю работу.

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