|
[ На главную ] -- [ Список участников ] -- [ Правила форума ] -- [ Зарегистрироваться ] |
On-line: |
Game Maker Форум / Вопросы и Ответы (Для Опытных) / persistent rooms |
Страницы: 1 |
Автор | Сообщение | ||
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 29-11-2006 14:40 | ||
у меня есть две комнаты - menu и room2. room2 - persistent, a menu - нет. Я поиграл в room2 и вышел в menu. Вопрос: как сделать, чтоб в меню при нажатии "start" room2 перезагружалась? (т.е. чтоб все что я натворил в room2 стиралось нафиг) | |||
Ang3L мастер Группа: Сообщество GM Сообщений: 111 |
Добавлено: 29-11-2006 15:15 | ||
А разве room_restart неподойдёт? | |||
Ang3L мастер Группа: Сообщество GM Сообщений: 111 |
Добавлено: 29-11-2006 15:19 | ||
Что-то типа того(вызывай в комнате room2): if (room_previous = menu) { room_persistent = 0; room_restart() room_persistent = 1; } |
|||
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 29-11-2006 16:50 | ||
а если еще есть и room3, room4, room5, room6 persistent? | |||
Ang3L мастер Группа: Сообщество GM Сообщений: 111 |
Добавлено: 29-11-2006 17:34 | ||
game_restart(); | |||
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 29-11-2006 23:16 | ||
А у меня перед меню еще и заставка! И я не хочу чтоб заставка игралась второй раз. Помогите пожалуйста! | |||
Ang3L мастер Группа: Сообщество GM Сообщений: 111 |
Добавлено: 29-11-2006 23:49 | ||
да, я про заставку так и думал. Марк про рестарт ничего не писал. Так что: 1)Когда выходишь в меню, делаешь рестарт во всех комнатах. 2)Сохранаешь в отдельном файле начальное место положение всех инстансов, а потом возращаешь их на место, когда будет нужно(заделай скриптами). 3)Что-то делаешь с заставкой, например, как другую программу. Заставка прошла и после execute_program(игра). Как мне кажеться 3) вариант самый простой, да и он использовался во многих досовских играх(Kyrandia например). |
|||
DG Soft popww Группа: Администраторы Сообщений: 736 |
Добавлено: 30-11-2006 11:30 | ||
давай заставка будет играть только в том случае есле в ини файле будет так: [zastavka] play=1 когда заставка проигралась стало так [zastavka] play=0 при рестарте будет так: [zastavka] play=0 и заставка не проиграется а в событии (гаме енд) станет так: [zastavka] play=1 чтоб при следующем запуске заставка играла |
|||
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 02-12-2006 00:20 | ||
как?
неудобно, у меня много объектов и много комнат.
сделаю так, если не получится первое. |
|||
Ang3L мастер Группа: Сообщество GM Сообщений: 111 |
Добавлено: 02-12-2006 00:54 | ||
Я думаю, что тебе лучше и легче будет сделать 3) вариант. Но если, спросил про 1) объясню: А)Делаешь условие рестарта(любое, например нажатие start game). Можно сделать проверку, а в первый ли раз делаеться start game, если да, то не надо рестарта(сэкономит время). Б)Сделай скрипт рестарт, в нём: заходишь в первую комнату(игровую), do { room_persistent = 0; //если рестарт при персистенте не получиться room_restart(); room_persistent = 1; // if(!room_last) room_next(); } until(!room_last) (если комнат вообще не будет, то crash) (если будут ещё или интро, то и они перезапустяться) Всё! все комнаты перезагружены. Но насколько это эффективно или быстротечно - незнаю. короче, если надо оптимизируете.Идею надеюсь поняли. |
|||
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 02-12-2006 16:14 | ||
room_next(); - может room_goto_next()? | |||
Ang3L мастер Группа: Сообщество GM Сообщений: 111 |
Добавлено: 02-12-2006 16:15 | ||
Это псевдо код. Room_persistent там тоже подругому. ну надеюсь ты разберёшься(не новичок). | |||
Ka1miK Тут могла быть ваша реклама Группа: Сообщество GM Сообщений: 1014 |
Добавлено: 02-12-2006 18:03 | ||
Ещё проще можешь копировать комнату перед изменениями, а потом при выходе из комнаты заменять её копированной(т.е. такой какой она была до выхода) | |||
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 07-12-2006 18:06 | ||
как Ang3L сказал проще. Всем спасибо! |
|||
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 07-12-2006 18:06 | ||
только зачем это писать когда и так стоит until? |
|||
DG Soft popww Группа: Администраторы Сообщений: 736 |
Добавлено: 07-12-2006 18:28 | ||
ужасный код |
|||
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 08-12-2006 14:07 | ||
короче, у меня ничего не получилось (ни первое, ни второе). Так что пусть играется заставка 2 раза. | |||
Ang3L мастер Группа: Сообщество GM Сообщений: 111 |
Добавлено: 09-12-2006 14:47 | ||
Чёт меня глюкануло, if можете убрать, если кто недогадался. Если код ужасный, исправь и напиши его нормально. В чём проблема то? Идею поняли(я про рестарт)? Что неполучилось? Что делает не так? И непробовал ли ты делать 2 программы(интро и игра)? |
|||
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 09-12-2006 16:38 | ||
да мне уже не надо... я сделал через загрузку меню через формат .sav |
|||
Ka1miK Тут могла быть ваша реклама Группа: Сообщество GM Сообщений: 1014 |
Добавлено: 10-12-2006 17:04 | ||
Зря кстати говоря, из личного опыта под конец игры в Войнушке загрузка щла секунд десять, потому что сохранялись все прошлые пройденные комнаты, ну протестируй просто, может твой способ не будет причинять особых проблем |
Страницы: 1 |
Game Maker Форум / Вопросы и Ответы (Для Опытных) / persistent rooms |