Приветствую Вас, Гость! Регистрация RSS
Воскресенье, 20.08.2017
Главная » Статьи » Уроки » Для опытных

Создание системы уровней с ini фаилами.
Тут я решил рассказать как сделать "открытие уровней", то есть пока не прошел первую миссию взяться за вторую нельзя + перепрохродение миссий.  Делается это с помощью ini файлов в которые вписывается пройдена ли миссия или нет (true - да или false - нет). Конечно опытный пользователь сможет просто на просто открыть файл блокнотом и изменить false на true, но эту проблему можно решить есть изменить расширение .ini на .save (люди подумают что это сейв и туда лучше не лазить) или какое-либо другое, хоть .vam_kazetsa_chto_eto_ne_ini_fail_no_eto_ne_tak расширение не имеет значения game maker и так поймет что это ini файл
Алгоритм чтения такой: 
1. Открываем файл. 
2. Читаем значение из ключа lvl2 и записываем его в переменную. 
3. Закрываем файл. 
4. Если переменная равна 0 то уровень закрыт и невидим иначе открыт и видим.
Теперь нужно создать несколько спрайтов которые будут обозначать уровни (кликнешь и  уровень запускается) и спрайт кнопки для перехода на следующий уровень (конечно в настоящей игре следующий уровень открывается когда например соберешь 100 очков и т.д., но тут для простоты мы сделали простым кликом). Теперь создадим одноимённые объекты (но не совсем одноимённые смените приставку s_ на o_) и  
кнопки для перехода на следующий уровень. Теперь в каждый объект пишем такой код (в step):

ini_open("lvl.ini")//открываем файл для чтения
lvl1=ini_read_real("lvl","lvl1",0)//записываем в переменную lvl1 строку из файла.
if lvl1=0//если уровень закрыт
{image_alpha=0//то иконка не видна
}
else
{
image_alpha=1
}
ini_close()//закрываем файл

Не забудьте во второй строке заменить
lvl1=ini_read_real("lvl","lvl1",0)
на ключ уровня (для каждого объекта свой ключ).
А также в событие нажатия ЛКМ:

room_goto(room1)

где выделенное нужно заменить на тот уровень куда ведет эта кнопка. С этими объектами закончили, теперь перейдем к кнопкам завершения уровня. Опять каждой кнопке в событие нажатия ЛКМ:

ini_open("lvl.ini")//открываем файл
ini_write_real("lvl","lvl2",1)//записываем значение
ini_close()//закрываем файл
room_goto("room0")//переходим в меню

Выделенное опять меняем на ключ к следующему уровню. Теперь размещаем объекты уровня в комнате и тестим.
Скачать исходник с нашего сервера можно тут.
Категория: Для опытных | Добавил: Stalker5889 (24.11.2011) | Автор: stalker5889
Просмотров: 903 | Теги: перепрохождение уровней, для опытных, с исходником, ini файлы, открытие уровней | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]