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

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

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

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

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

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

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

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

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

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

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 / 1
Регистрация: 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
Привет! Вот еще темы с решениями:

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

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

Как сделать игру тамагочи?
Я хочу сделать игру- тамагочи, но не знаю, как её реализовать. Помогите...

как сделать флешь игру?
подскажите как сделать браузерную флешь игру?


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

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

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