Как я могу получить доступ к одному ивару из нескольких сцен в Cocos2D?
Спасибо, что посмотрели на мой вопрос! В моей игре у меня есть несколько сцен. У меня есть IntroScene, HomeScene и PlayingScene. Теперь, если мне нужно создать переменную int playerStrength, и я хочу, чтобы она начиналась с 0, но она должна отображаться в моей HomeScene, а PlayingScene должна иметь возможность доступа к ней, как я могу это сделать?? Потому что HomeScene должен отображать это целое число, а PlayingScene должна знать, что это такое, чтобы оно могло влиять на количество урона, наносимого игроком. (И класс игроков также должен знать, какой должна быть эта переменная). Я очень долго страдал от этого и ДЕЙСТВИТЕЛЬНО оценил бы некоторую помощь! Благодарю вас!
2 ответа
Создайте класс модели, инкапсулирующий такую информацию, выделите ее в делегате приложения и попросите всех остальных получить к нему доступ через [UIApplication sharedApplication].delegate. Вы можете выполнить наблюдение значения ключа на нем для контроллеров представления, которым необходимо знать, когда значения изменяются - классическая архитектура MVC.
Недавно я написал учебник по именно этим типам архитектурных проблем: http://www.hollance.com/2011/04/making-your-classes-talk-to-each-other-part-1/