Форум программистов, компьютерный форум, киберфорум
Наши страницы
Objective-C
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
AntiVIRUZ
7 / 7 / 2
Регистрация: 19.12.2011
Сообщений: 51
1

Как сделать многоуровневую игру?

01.05.2012, 21:19. Просмотров 2036. Ответов 12
Метки нет (Все метки)

Вот возник такой вопрос: как переключаться между классами, которые наследуют UIViewController по нажатию кнопки??? у меня допустим есть UntitledAppDelegate, UntitledVievController и lvl1. Как мне сделать так, чтобы при вызове определенной функции из UntitledVievController у меня он скрывался и загружался lvl1 со своим интерфейсом?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2012, 21:19
Ответы с готовыми решениями:

хочу игру сделать
Впереди суровое сибирское лето а значит куча свободного времени решил под ios...

Как создать игру для ios
Здравствуйте! Мне бы хотелось создать мобильную игру для ios про карточную игру...

Как я создавала свою первую IOS игру
Опыт разработки приложений под IOS начался с покупки техники apple, возможность...

Как создать многоуровневую структуру?
Как создать многоуровневую структуру? Допустим есть такая структура: ...

Как осуществить многоуровневую выборку из БД
Добрый день, уважаемые Форумчане! Только начал постигать MS Access и прошу...

12
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
02.05.2012, 07:58 2
А lvl1 это что?
1
AntiVIRUZ
7 / 7 / 2
Регистрация: 19.12.2011
Сообщений: 51
02.05.2012, 08:25  [ТС] 3
lvl1 это тоже класс, наследующий UIViewController. Там получается lvl1.h lvl1.m lvl1.xib UntitledAddDelegate.h UntitledAppDelegate.m UntitledViewController.h UntitledViewController.m UntitledViewController.xib. UntitledAppDelegate запускает UntitledViewController через [window addSubview:viewController]; Где window это UIWindow, а viewController это UntitlerViewController. Вот. Может путано, но так и есть =). И как убрать с экрана (грубо говоря) UntitledViewController из него же, и показать lvl1...... Пробовал делать [self.view addSubview: self.lvl1Class.view]; но он ноль внимания, фунт презрения.
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
02.05.2012, 13:41 4
Так не делается впринципе...
Ну если очень нужно - уберите view с window, и добавьте на него ваш lvl1Controller view.
Ну либо воспользуйтесь UINavigationController и делайте pushViewController:animated:
1
AntiVIRUZ
7 / 7 / 2
Регистрация: 19.12.2011
Сообщений: 51
02.05.2012, 15:28  [ТС] 5
А как делается? Просто во всех уроках показывается частями, нет такого, чтобы показать как вот сделана игрушка полностью. Везде где я смотрел показывалась реализация только одного уровня, не было такого, чтобы показывалось как перейти с уровня один на уровень два.

И еще: можно как-то из UntitledViewController запустить функцию из UntitledAppDelegate?
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
02.05.2012, 18:44 6
Цитата Сообщение от AntiVIRUZ Посмотреть сообщение
И еще: можно как-то из UntitledViewController запустить функцию из UntitledAppDelegate?
Читайте мат. часть. Используйте [[UIApplication sharedApplication] delegate] - это и есть делегат вашего приложения.
1
AntiVIRUZ
7 / 7 / 2
Регистрация: 19.12.2011
Сообщений: 51
02.05.2012, 19:23  [ТС] 7
А какая книга лучше для изучения мат. части? Я знаю есть Махера Али 2010 года, есть от O'Realy Джонатана Здзиарски, или, может быть, лучше совсем другая, которую я не знаю? И спасибо большое, за то, что объясняете такому неразумному основы =)
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
02.05.2012, 19:48 8
Не было такого, чтобы показывалось как перейти с уровня один на уровень два.
Нет такого понятия уровень 1 или 2. Это лишь ваше представление. Как придумаете смену - так и будет.

Незнаю, я книг по Cocoa практически не читал. Если что не понятно - developer.apple.com
А дальше - только логика и здравый смысл.
1
AntiVIRUZ
7 / 7 / 2
Регистрация: 19.12.2011
Сообщений: 51
02.05.2012, 20:44  [ТС] 9
Блин. А как сделать чтобы он видел пользовательские функции (методы)? Я например написал

Objective-C
1
2
3
- (void) delete_menu {
 [viewController.view removeFromSuperview];
}
в делегате, а во вьюве

Objective-C
1
2
[[UIApplication sharedApplication] delegate];
[delegate delete_menu];
а он пишет при компиляции, мол "Внимание: "UntitledAppDelegation" may not respond to '-delete_menu' и не выполняет эту функцию -_-. Как это можно исправить? Может как-то публичной сделать?
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
03.05.2012, 09:47 10
Objective-C
1
[((UntitledAppDelegate*)[[UIApplication sharedApplication] delegate]) delete_menu];
Objective-C
1
2
UntitledAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
[delegate delete_menu];
1
camka-dev
6 / 6 / 0
Регистрация: 14.03.2012
Сообщений: 29
22.05.2012, 15:07 11
автор:
возьми специальный фреймворк для создания игр - Cocos2D
он просто отличный и прекрасно вписывается в Objective-C и саму iOS.
1
fakir88
0 / 0 / 0
Регистрация: 18.06.2012
Сообщений: 5
19.06.2012, 10:52 12
емое, UINavigateController, и на фиг велосипед изобретать. Кстати при таком объявлении контроллеров ошибок должна быть тьма "unrecognized selector sent to instance". В appDelegate
Objective-C
1
2
3
4
5
...
vc1 *new=[[vc1 alloc] init];
UInavigateController *nav1 =[[UINavigateController alloc] initWithRootViewController:new];
self.window.rootViewController = nav1;
...
rootViewController в appDelegate должен быть определенн иначе в рандомном порядке могут вылетать "unrecognized selector sent to instance" от любого события.
в контроллерах для перехода на новый:
Objective-C
1
2
3
4
...
vc2 *view = [[vc2 alloc] init];
[self.navigationController pushViewController:view animated:YES];
...
для возврата на предыдущий:
Objective-C
1
2
3
...
[self.navigationController popViewControllerAnimated:YES];
...
А вообще гугол в помощь UINavigateController, UITabBarController.

Добавлено через 3 минуты
И да, если начнешь пользоваться Cocos2D учи управление памятью, т.к. по умолчанию ARC не активен. Ну или для своих контроллеров подключай ARC, точнее отключай у всех остальных файлов, мне ,если честно, проще этот вариант.
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
19.06.2012, 15:56 13
Цитата Сообщение от fakir88 Посмотреть сообщение
Кстати при таком объявлении контроллеров ошибок должна быть тьма "unrecognized selector sent to instance"
Неясно, что Вы имели ввиду. Можете пояснить?

Добавлено через 1 минуту
Цитата Сообщение от fakir88 Посмотреть сообщение
rootViewController в appDelegate должен быть определенн иначе в рандомном порядке могут вылетать "unrecognized selector sent to instance" от любого события.
И это тоже поясните, будьте добры.
0
19.06.2012, 15:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2012, 15:56

Хочу сделать игру под Android на движке Unity. Как сделать регистрацию пользователей?
Помогите разобраться! Хочу сделать игру под Андроид на движке Unity. Как...

Как правильно написать многоуровневую функцию
Не знаю правильно ли сформулировал вопрос. Я недавно занялся изучением JS. ...

Как сделать игру
Как сделать игру в текстовом режиме???


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru