Помогите с реализацией на Game Maker8
| |
Maxat32 | Дата: Среда, 27 Октября 2010, 13:15 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| Помогите, как сделать что бы после прохождения игры или уровню, в главном меню открывалась кнопка с выбором уровней?
|
|
| |
dedok1965 | Дата: Среда, 27 Октября 2010, 14:25 | Сообщение # 2 |
участник
Сейчас нет на сайте
| Делаешь в главном меню эту кнопку, делаешь ей visible=0. После прохождения игры или уровню, присваиваешь кнопке visible=1. Собственно все.
|
|
| |
Maxat32 | Дата: Среда, 27 Октября 2010, 21:54 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| А как именно чтобы определил что первая комната завершена и в меню надо окрыть кнопку с переходом на певую комнату? И еще сохранять это нужно
|
|
| |
Veliky_Virus | Дата: Среда, 27 Октября 2010, 21:55 | Сообщение # 4 |
ДьявоЛ
Сейчас нет на сайте
| Maxat32, я не пойму что тебе надо
|
|
| |
MyDreamForever | Дата: Среда, 27 Октября 2010, 21:57 | Сообщение # 5 |
StrateG
Сейчас нет на сайте
| На сколько я понял нужно использовать внешние файлы. ini
|
|
| |
Tezus | Дата: Среда, 27 Октября 2010, 22:38 | Сообщение # 6 |
постоянный участник
Сейчас нет на сайте
| Сделай объект кнопки невидимым (убери галочку visible) Сделай на последнем уровне (или на любом каком тебе надо) какой нибудь объект без спрайта. Поставь на нем галочку Persistent и в событии Creat создай переменную peremen какую нибудь =0, после прохождуния уровня пусть peremen = 1, в событии Step для этого объекта напиши if room=0 && peremen=1 // вместо room=0 пишешь номер комнаты в которой у тебя меню расположено, если это первая комната то так и оставь room=0 {кнопка которая должна появиться.visible=1 peremen=2}
Если в мире много бед, поможет человек-пакет. Человек-пакет
|
|
| |
dedok1965 | Дата: Среда, 27 Октября 2010, 22:56 | Сообщение # 7 |
участник
Сейчас нет на сайте
| Quote (Tezus) Сделай объект кнопки невидимым (убери галочку visible) Сделай на последнем уровне (или на любом каком тебе надо) какой нибудь объект без спрайта. Поставь на нем галочку Persistent и в событии Creat создай переменную peremen какую нибудь =0, после прохождуния уровня пусть peremen = 1, в событии Step для этого объекта напиши if room=0 && peremen=1 // вместо room=0 пишешь номер комнаты в которой у тебя меню расположено, если это первая комната то так и оставь room=0 {кнопка которая должна появиться.visible=1 peremen=2} Это не подходит. Ему нужна запись/чтение из файла. Посоветовал бы проштудировать справку в этом месте. --------------------------------------------- Как я понял, ему нужна вот такая система: Имеется меню, с закрытыми уровнями (например 8), по мере прохождения игры - уровни открываются, т е информация должна записывать в файл с сохранениями. Оттуда должны подгружаться параметры. --------------------------------------------- Те, это будет выглядеть примерно так: Создаем массив lvl[0..n], где n - число уровней. Присваиваем блоку с меню уровней условие (например в Draw'е): if lvl[num]{ рисуем текст зеленым цветом - открытый уровнень}else{ рисуем текст серым цветом - закрытый уровень} // num - это номер пункта меню , отображающего соответствующий уровень. Дальше остается только сохранять изменения в массиве, и читать их, переприсваивая массиву при загрузке игры.
Сообщение отредактировал dedok1965 - Среда, 27 Октября 2010, 22:57 |
|
| |
Tezus | Дата: Среда, 27 Октября 2010, 22:57 | Сообщение # 8 |
постоянный участник
Сейчас нет на сайте
| dedok1965, ну не знаю, судя по тому что у него написано, ему нужно как раз то что написал я. Нужно чтобы когда проходишь всю игру, появлялся новый пунк меню, по нажатию на который можно выбрать любой уровень.
Если в мире много бед, поможет человек-пакет. Человек-пакет
|
|
| |
dedok1965 | Дата: Среда, 27 Октября 2010, 23:02 | Сообщение # 9 |
участник
Сейчас нет на сайте
| Сделал бы пример... но лень меня съедает. Возможно позже... --------------------------------------------- Quote (Tezus) Нужно чтобы когда проходишь всю игру, появлялся новый пунк меню, по нажатию на который можно выбрать любой уровень. Нет, читай внимательнее его вопрос: 'что бы после прохождения игры' - тут именно нужно работать с сохранениями. Это, как в контре на ПС2 например Добавлено (27.10.2010, 23:02) --------------------------------------------- А хотя, ХРЕН ЕГО ЗНАЕТ, некоторые так задают вопросы... что не особо тянет даже и помогать...
Сообщение отредактировал dedok1965 - Среда, 27 Октября 2010, 23:02 |
|
| |
Tezus | Дата: Среда, 27 Октября 2010, 23:09 | Сообщение # 10 |
постоянный участник
Сейчас нет на сайте
| Да, понял... туплю малость.. точнее понял я все правильно, но не учел что игру то он потом выключит, а когда включит то кнопки опять не будет Тогда вот так: Сделай объект кнопки невидимым (убери галочку visible) Сделай в КОМНАТЕ С МЕНЮ какой нибудь объект без спрайта. Поставь на нем галочку Persistent и в событии Creat создай переменную peremen какую нибудь =0, и там же напиши if peremen = 1 { game_load("savegame") } После прохождуния последнего уровня пусть peremen = 1 В событии Step для этого объекта напиши if room=0 && peremen=1 // вместо room=0 пишешь номер комнаты в которой у тебя меню расположено, если это первая комната то так и оставь room=0 {кнопка которая должна появиться.visible=1 game_save("savegame")} Вроде ничего не напутал Работать должно
Если в мире много бед, поможет человек-пакет. Человек-пакет
Сообщение отредактировал Tezus - Среда, 27 Октября 2010, 23:11 |
|
| |
dedok1965 | Дата: Среда, 27 Октября 2010, 23:25 | Сообщение # 11 |
участник
Сейчас нет на сайте
| Tezus извини за прямолинейность - но твой вариант плох ( Во первых - игра зациклится на game_save("savegame"), во вторых - зачем нам 'тяжелое' событие Step ? в третьих зачем нам лишняя переменная?? Сделать кнопку видимой - просто, нужно всего лишь лишнее условие, вставить в нужном месте. Я кстати так и не понял, ему нужно просто сделать видимой кнопку, или все таки еще и объяснить как организовать сам список с открытыми/закрытыми уровнями??
|
|
| |
Tezus | Дата: Среда, 27 Октября 2010, 23:45 | Сообщение # 12 |
постоянный участник
Сейчас нет на сайте
| Ну я понимаю конечно что мой вариант плох, но только что проверил для интереса, все работает Ну а если уж серьезно к вопросу подойти, то: 1. Создаешь фаил с расширением ini (например name.ini), в котором пишешь [Peremen] P=0 2. После прохождения игры (грубо говоря при столкновении игрока с объектом финиш) пишешь ini_open('name.ini') ini_write_real('Peremen','P',1) ini_close(); 3. В событие Step для невидимой кнопке пишешь ini_open('name.ini'); if ini_read_real('Peremen','P',true)==1 {кнопка.visible=true} ini_close() Вот так вот
Если в мире много бед, поможет человек-пакет. Человек-пакет
|
|
| |
dedok1965 | Дата: Среда, 27 Октября 2010, 23:58 | Сообщение # 13 |
участник
Сейчас нет на сайте
|
|
|
| |
Tezus | Дата: Четверг, 28 Октября 2010, 00:01 | Сообщение # 14 |
постоянный участник
Сейчас нет на сайте
| Да уж... Ну все же решиние той задачи которую поняли, продемонстрировал
Если в мире много бед, поможет человек-пакет. Человек-пакет
|
|
| |
NeZnayu | Дата: Четверг, 28 Октября 2010, 00:08 | Сообщение # 15 |
__танцуй!__
Сейчас нет на сайте
| Quote (Tezus) 3. В событие Step для невидимой кнопке пишешь ini_open('name.ini'); if ini_read_real('Peremen','P',true)==1 {кнопка.visible=true} ini_close() Каждый step обращаться к ини - это мазохизм. Потом, каждый желающий может запросто открыть его блокнотом и изменить вручную.
CombatForce - 2d TDS долгожданный релиз Noobster - самый простой конструктор игр в мире LaLaLaLAMA! - игра не про Ламу
|
|
| |
Tezus | Дата: Четверг, 28 Октября 2010, 00:21 | Сообщение # 16 |
постоянный участник
Сейчас нет на сайте
| NeZnayu, что ж ты свой вариент не предложил!? Quote Каждый step обращаться к ини - это мазохизм. Не вижу ничего такого, грузить игру это не будет совсем. Что касается изменить вручную, это да. Но можно ведь не 0 на 1 менять, а менять 0 на TraLaLa... и пусть меняют сколько хочешь, не угадают все равно Добавлено (28.10.2010, 00:21) ---------------------------------------------
Quote Каждый step обращаться к ини - это мазохизм. Не вижу ничего такого, грузить игру это не будет совсем. Ну можно и в Create это написать, ничего не изменится. Это уже от игры зависит, куда там что писать лучше.
Если в мире много бед, поможет человек-пакет. Человек-пакет
|
|
| |
dedok1965 | Дата: Четверг, 28 Октября 2010, 00:25 | Сообщение # 17 |
участник
Сейчас нет на сайте
| Я уже писал, что не актуально использовать Step в данном случае, NeZnayu, ты опоздал Добавлено (28.10.2010, 00:25) --------------------------------------------- Ну тут подойдет вариант, записать параметры в простой файл со своим расширением, и зашифровать его.
|
|
| |
NeZnayu | Дата: Четверг, 28 Октября 2010, 00:29 | Сообщение # 18 |
__танцуй!__
Сейчас нет на сайте
| Quote (Tezus) Не вижу ничего такого, грузить игру это не будет совсем. Будет еще как. Достаточно проверить в create. Лучше заранее отучаться делать коряво. Насчет своего варианта - перед выходом сохранять игру и при следующем запуске ее загружать. Еще можно записывать все необходимые данные в файл и потом его шифровать - пример шифрования Блин, опять я опоздал )
CombatForce - 2d TDS долгожданный релиз Noobster - самый простой конструктор игр в мире LaLaLaLAMA! - игра не про Ламу
Сообщение отредактировал NeZnayu - Четверг, 28 Октября 2010, 00:29 |
|
| |
Maxat32 | Дата: Четверг, 28 Октября 2010, 00:32 | Сообщение # 19 |
частый гость
Сейчас нет на сайте
| Спасибо. Попробую с файлом своего расширения, если не получится то сделаю через ini.
|
|
| |
Tezus | Дата: Четверг, 28 Октября 2010, 00:38 | Сообщение # 20 |
постоянный участник
Сейчас нет на сайте
| Quote Ну тут подойдет вариант, записать параметры в простой файл со своим расширением, и зашифровать его. Можно конечно, вот только зачем Для этого скрипт шифрования нужно писать... Да и все равно фаил можно будет через блокнот открыть и напортачить там что нибудь... мое менять 0 на TraLaLa тут куда лучше... париться с шифрованием не надо и все равно никто не догадается И что ж вы к этому Step привязались... Я понимаю если бы там десятки операций выполнялись, а так ничего это не меняет... ))) И к тому же я просто пример написал, пусть уж автор темя сам решает куда ему лучше что засунуть Добавлено (28.10.2010, 00:37) --------------------------------------------- NeZnayu, да, написал "свой вариант"... оба варианта были уже... Шифровать не вижу смысла а вот расширение изменить можно, просто чтоб по умолчанию блокнотом не открывался фаил Добавлено (28.10.2010, 00:38) ---------------------------------------------
Если в мире много бед, поможет человек-пакет. Человек-пакет
|
|
| |
|