Ещё один вопрос по уровням сложности.
|
|
Demonmega | Дата: Воскресенье, 12 Апреля 2015, 18:14 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Например когда игра сохранятся образуется фаил с сохранением или когда имя вводишь ну и т д, а хотелось бы что бы они сохранялись во определенную папку которую я назначу.
Сообщение отредактировал Demonmega - Понедельник, 13 Апреля 2015, 22:33 |
|
| |
YellowAfterlife | Дата: Понедельник, 13 Апреля 2015, 05:11 | Сообщение # 2 |
Сейчас нет на сайте
| В зависимости от версии. В GameMaker 8.1 и ниже, файлы можно сохранять почти куда угодно - нужно лишь указать правильный абсолютный путь, ведущий к искомой (существующей) папке. В GameMaker: Studio, в связи с ориентацией на поддержку большего количества платформ, это было изменено - по умолчанию игра может сохранять файлы в свою папку в (имя пользователя)/AppData/Local/(имя игры) (это место, куда сохраняются файлы, если не указывать абсолютный путь), а для сохранения в свободные места пользователь должен собственноручно выбрать путь через get_open_filename, или создание файла будет запрещено.
|
|
| |
Demonmega | Дата: Понедельник, 13 Апреля 2015, 22:23 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| появился новый вопрос. Если например хочешь сделать в игре 3 уровня сложности надо для каждого дублировать комнаты с врагами ( просто я хочу на каждом уровне сложности поменять некоторые характеристики врагов или можно это делать без дублирования каким нибудь скриптом?) Простите за эти все нубские вопросы
Сообщение отредактировал Demonmega - Понедельник, 13 Апреля 2015, 22:34 |
|
| |
EfimovMax | Дата: Понедельник, 13 Апреля 2015, 22:44 | Сообщение # 4 |
заслуженный участник
Сейчас нет на сайте
| Дублировать комнаты?
Всё гораздо проще - сделай переменную типа Difficult. При выборе игроком сложности присваивай ей значение (easy, hard и т.д.). Ну и в самой игре делай на неё проверку и, например, изменяй здоровье врагов, их урон и т.д.
Текущий проект: The Experiment ☭
Выпущенные проекты Steam: Princess.Loot.Pixel.Again Princess.Loot.Pixel.Again x2 Dungetris
|
|
| |
VAsKA | Дата: Вторник, 14 Апреля 2015, 10:16 | Сообщение # 5 |
частый гость
Сейчас нет на сайте
| EfimovMax, Очень интересно. А есть примеры и уроки на эту тему. Давно хотел узнать ,как это делается.Где все конкретно показано.
Сообщение отредактировал VAsKA - Вторник, 14 Апреля 2015, 10:17 |
|
| |
Quad69 | Дата: Вторник, 14 Апреля 2015, 11:08 | Сообщение # 6 |
заслуженный участник
Сейчас нет на сайте
| VAsKA, Просто создай объект control в самой первой комнате, напиши ей в Create Код globalvar dif; dif=get_integer('Выберите уровень сложности (1-3)',2) И поставь свойство "Постоянный" (Там где Твёрдый или Solid) И дальше уже в врагах или где тебе там надо пишешь: Код if dif=1 {Что делает враг при сложности 1} if dif=2 {Что делает враг при сложности 2 и т.д...}
|
|
| |
EfimovMax | Дата: Вторник, 14 Апреля 2015, 11:13 | Сообщение # 7 |
заслуженный участник
Сейчас нет на сайте
| VAsKA, Создаёшь в объекте ГГ, в create, переменную Difficult. В меню присваиваешь ей значение, в зависимости от выбранной сложности (например, Difficult='normal'). Теперь мы знаем, на какой сложности игрок. Далее, в Create всех врагов пишем что-то типа Код if Difficult='easy' Hp=10 else if Difficult='normal' Hp=20 else if Difficult='hard' Hp=30 Таким образом, буквально 3 строчки и у нас здоровье врагов напрямую зависит от сложности игры.
Объект ГГ должен быть создан раньше, чем игрок будет выбирать сложность!
UPD maksim1221232, опередил на 5 минут) Предпочитаю избегать дополнительных контролов, тем более если в нём будет всего 2 строчки)
Текущий проект: The Experiment ☭
Выпущенные проекты Steam: Princess.Loot.Pixel.Again Princess.Loot.Pixel.Again x2 Dungetris
Сообщение отредактировал EfimovMax - Вторник, 14 Апреля 2015, 11:18 |
|
| |
Overdrave | Дата: Вторник, 14 Апреля 2015, 15:10 | Сообщение # 8 |
частый гость
Сейчас нет на сайте
| Легче присваивать соответствующие числа - легче при записи кода. Эх, помню, как сам делал такое в скролл-шутере. В зависимости от уровня сложности изменялся тип врагов, траектория их полёта, место и количество, в котором они спавнились, их скорость, точность, количество пуль (даже их цвет и траектория!), бэкграунд, количество хп, поведение и сложность босса и прочее. Всё реализовывалось через переменную diff, но не так, как здесь описано, а формулами в Create, типа или Код for (i=1;i<=2+diff;i++) with(instance_create(x,y,e_bullet)) { speed=7+diff-i*1.5 ... }
|
|
| |