Четверг, 21 Ноября 2024, 20:16

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Помогите с реализацией на 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, я не пойму что тебе надо dry
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, ну не знаю, судя по тому что у него написано, ему нужно как раз то что написал я. biggrin
Нужно чтобы когда проходишь всю игру, появлялся новый пунк меню, по нажатию на который можно выбрать любой уровень. wink


Если в мире много бед, поможет человек-пакет.
Человек-пакет
dedok1965Дата: Среда, 27 Октября 2010, 23:02 | Сообщение # 9
участник
Сейчас нет на сайте
Сделал бы пример... но лень меня съедает. Возможно позже...

---------------------------------------------

Quote (Tezus)
Нужно чтобы когда проходишь всю игру, появлялся новый пунк меню, по нажатию на который можно выбрать любой уровень.

Нет, читай внимательнее его вопрос: 'что бы после прохождения игры' - тут именно нужно работать с сохранениями. Это, как в контре на ПС2 например wink

Добавлено (27.10.2010, 23:02)
---------------------------------------------
А хотя, ХРЕН ЕГО ЗНАЕТ, некоторые так задают вопросы... что не особо тянет даже и помогать...

Сообщение отредактировал dedok1965 - Среда, 27 Октября 2010, 23:02
TezusДата: Среда, 27 Октября 2010, 23:09 | Сообщение # 10
постоянный участник
Сейчас нет на сайте
Да, понял... туплю малость.. точнее понял я все правильно, но не учел что игру то он потом выключит, а когда включит то кнопки опять не будет biggrin

Тогда вот так:

Сделай объект кнопки невидимым (убери галочку 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")}

Вроде ничего не напутал
Работать должно biggrin


Если в мире много бед, поможет человек-пакет.
Человек-пакет


Сообщение отредактировал Tezus - Среда, 27 Октября 2010, 23:11
dedok1965Дата: Среда, 27 Октября 2010, 23:25 | Сообщение # 11
участник
Сейчас нет на сайте
Tezus извини за прямолинейность - но твой вариант плох (

Во первых - игра зациклится на game_save("savegame"), во вторых - зачем нам 'тяжелое' событие Step ? в третьих зачем нам лишняя переменная?? wacko wacko wacko

Сделать кнопку видимой - просто, нужно всего лишь лишнее условие, вставить в нужном месте.

Я кстати так и не понял, ему нужно просто сделать видимой кнопку, или все таки еще и объяснить как организовать сам список с открытыми/закрытыми уровнями??

TezusДата: Среда, 27 Октября 2010, 23:45 | Сообщение # 12
постоянный участник
Сейчас нет на сайте
Ну я понимаю конечно что мой вариант плох, но только что проверил для интереса, все работает biggrin

Ну а если уж серьезно к вопросу подойти, то:
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()

Вот так вот happy


Если в мире много бед, поможет человек-пакет.
Человек-пакет
dedok1965Дата: Среда, 27 Октября 2010, 23:58 | Сообщение # 13
участник
Сейчас нет на сайте
TezusДата: Четверг, 28 Октября 2010, 00:01 | Сообщение # 14
постоянный участник
Сейчас нет на сайте
Да уж... biggrin
Ну все же решиние той задачи которую поняли, продемонстрировал biggrin


Если в мире много бед, поможет человек-пакет.
Человек-пакет
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, что ж ты свой вариент не предложил!? wink

Quote
Каждый step обращаться к ини - это мазохизм.

Не вижу ничего такого, грузить игру это не будет совсем. wink

Что касается изменить вручную, это да. Но можно ведь не 0 на 1 менять, а менять 0 на TraLaLa... и пусть меняют сколько хочешь, не угадают все равно biggrin

Добавлено (28.10.2010, 00:21)
---------------------------------------------

Quote
Каждый step обращаться к ини - это мазохизм.

Не вижу ничего такого, грузить игру это не будет совсем.

Ну можно и в Create это написать, ничего не изменится. Это уже от игры зависит, куда там что писать лучше. happy


Если в мире много бед, поможет человек-пакет.
Человек-пакет
dedok1965Дата: Четверг, 28 Октября 2010, 00:25 | Сообщение # 17
участник
Сейчас нет на сайте
Я уже писал, что не актуально использовать Step в данном случае, NeZnayu, ты опоздал wink

Добавлено (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
Ну тут подойдет вариант, записать параметры в простой файл со своим расширением, и зашифровать его.

Можно конечно, вот только зачем wink Для этого скрипт шифрования нужно писать... Да и все равно фаил можно будет через блокнот открыть и напортачить там что нибудь... мое менять 0 на TraLaLa тут куда лучше... париться с шифрованием не надо и все равно никто не догадается biggrin

И что ж вы к этому Step привязались... biggrin Я понимаю если бы там десятки операций выполнялись, а так ничего это не меняет... ))) И к тому же я просто пример написал, пусть уж автор темя сам решает куда ему лучше что засунуть biggrin

Добавлено (28.10.2010, 00:37)
---------------------------------------------
NeZnayu, да, написал "свой вариант"... оба варианта были уже... biggrin
Шифровать не вижу смысла wink а вот расширение изменить можно, просто чтоб по умолчанию блокнотом не открывался фаил biggrin

Добавлено (28.10.2010, 00:38)
---------------------------------------------



Если в мире много бед, поможет человек-пакет.
Человек-пакет
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг