Вопросы по окончанию уровня.
|
|
maunats | Дата: Вторник, 08 Мая 2012, 00:41 | Сообщение # 1 |
участник
Сейчас нет на сайте
| Я делаю арканоид. Как сделать так, что если уничтожены все кирпичи, то запускается следующий уровень? И еще, как сделать чтоб сахранялся последний запущенный уровень?
Сайт инди игр Мои игры D-Race D-Race 2: new challenge
|
|
| |
FadeBaker | Дата: Вторник, 08 Мая 2012, 00:46 | Сообщение # 2 |
JavaSE Game Developer
Сейчас нет на сайте
| Quote (maunats) Как сделать так, что если уничтожены все кирпичи Code if !instance_number(обж_кирпич) { if room != room_last room_goto_next(); }
А вообще, нужно знать, что существует такая чудесная вещь, как справка.
Уроки по GM Minecraft 2D на GM — Мои проекты — Blood Harvest [2D] — Original Blood Harvest [2D]: Remastered Edition Adventure Craft [2D] — Sandbox Space Shock [2D] — Scroll Shooter Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
|
|
| |
maunats | Дата: Вторник, 08 Мая 2012, 21:02 | Сообщение # 3 |
участник
Сейчас нет на сайте
| а как сделать чтобы уровень не сразу запускался, а к примеру после текстового сообщения и после нажатия кнопки?
Сайт инди игр Мои игры D-Race D-Race 2: new challenge
|
|
| |
AGDMFG | Дата: Вторник, 08 Мая 2012, 21:19 | Сообщение # 4 |
участник
Сейчас нет на сайте
| Проверочный обьект
Code if instance_number(block)==0 {show_message("Уровень пройден. Нажмите Q, чтобы продолжить"); instance_destroy();}
Игрок
Code if keyboard_check(ord('Q')) and instance_number(block)==0 { room_goto(level2); }
Сохранение процесса:
Обьект "Игрок" (т.е. какой-то уровень запущен)
Code if (keyboard_check(vk_escape)) //если нажат ескейп - обзываем сохранение + (выход в меню) {game_save(get_save_filename("*.sav","game.sav")); room_goto(main_menu);}
Нажатие кнопки продолжить в Главном Меню. Code game_load(get_open_filename("*.sav","game.sav"));
Первая доделанная игра: Putin V.S. Humanity
Сообщение отредактировал AGDMFG - Вторник, 08 Мая 2012, 21:32 |
|
| |
maunats | Дата: Четверг, 10 Мая 2012, 08:24 | Сообщение # 5 |
участник
Сейчас нет на сайте
| у меня ошибка в коде пробовал так Code if !instance_number(o_stone1)==0 if !instance_number(o_stone1_d)==0 if !instance_number(o_stone2)==0 if !instance_number(o_stone2_d)==0 { show_message("Уровень пройден. Нажмите Q, чтобы продолжить"); instance_destroy(); if keyboard_check(ord('Q')) and instance_number(o_stone1)==0 and instance_number(o_stone1_d)==0 and instance_number(o_stone2)==0 and instance_number(o_stone2_d)==0 {
if room != room_last room_goto_next(); } } Добавлено (09.05.2012, 19:54) --------------------------------------------- то есть фактически ошибки нет, но сообщение вылазиет до того, как уничтожены все блоки. Добавлено (10.05.2012, 08:24) --------------------------------------------- кто поможет тому +
Сайт инди игр Мои игры D-Race D-Race 2: new challenge
|
|
| |
Xageu | Дата: Четверг, 10 Мая 2012, 08:55 | Сообщение # 6 |
Хадей - Друг Детей
Сейчас нет на сайте
| Во-первых, что эза тупое условие "если не равно не нулю"? Почему бы не сделать "если равно нулю"? не знаю, важно ли это, но попробуй объединить условия через "and". На первый взгляд if много, а скобок маловато, не знаю, я такой кривой код не использовал.
|
|
| |
kashey | Дата: Четверг, 10 Мая 2012, 08:56 | Сообщение # 7 |
постоянный участник
Сейчас нет на сайте
| Quote (maunats) if !instance_number(o_stone2_d)==0 {
show_message("Уровень пройден. Нажмите Q, чтобы продолжить"); Ты поставил условие, при котором достаточно уничтожить блоки типа o_stone2_d для показа сообщения, хотя блоки все равно нужно уничтожить все для перехода на следующий уровень. Следом стоит код уничтожения обьекта, в котором воспроизводится следующее условие и соответственно уровень завершить уже нельзя. Плюс не понятно зачем у тебя во всех условиях с иф стоит отрицание. Quote if instance_number(o_stone1)==0 && instance_number(o_stone1_d) == 0 && instance_number(o_stone2) == 0 && instance_number(o_stone2_d) == 0 && { if keyboard_check(ord('Q')) show_message("Уровень пройден. Нажмите Q, чтобы продолжить"); if room != room_last room_goto_next(); } Пробуй, вроде так. Хотя я бы на твоем месте дал всем блокам родителя, чтобы не писать длиннющий список условий если блоков у тебя будет, скажем, 20-30.
Сообщение отредактировал kashey - Четверг, 10 Мая 2012, 08:57 |
|
| |
Xageu | Дата: Четверг, 10 Мая 2012, 08:57 | Сообщение # 8 |
Хадей - Друг Детей
Сейчас нет на сайте
| Кстати, если блокам задать родственность, они не будут проверяться как единое количество? Попробуй.
|
|
| |
FadeBaker | Дата: Четверг, 10 Мая 2012, 11:54 | Сообщение # 9 |
JavaSE Game Developer
Сейчас нет на сайте
| maunats, ну я же тебе писал проверку на отсутствие блоков! Quote (Fade) if !instance_number(обж_кирпич) Никакого "== 0" не нужно. Ну, или если тебе так больше нравится, тогда просто со всех проверок убери знак отрицания.
Уроки по GM Minecraft 2D на GM — Мои проекты — Blood Harvest [2D] — Original Blood Harvest [2D]: Remastered Edition Adventure Craft [2D] — Sandbox Space Shock [2D] — Scroll Shooter Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
|
|
| |
maunats | Дата: Понедельник, 14 Мая 2012, 00:53 | Сообщение # 10 |
участник
Сейчас нет на сайте
| Как можно реализовать сохранение скриптом, пользовался поиском, нашел пример но не понял. Сохранял/загружал игры через вкладки на событиях, но при таком способе не работает музыка при загрузки сохраненной игры. Надеюсь понятно расписал. Помогите плиз Добавлено (13.05.2012, 15:20) --------------------------------------------- мне нужно чтобы при начале уровня в файл сохранения записывался номер уровня, а когда мы загружаем игры открывался последний запущенный уровень Добавлено (14.05.2012, 00:53) --------------------------------------------- Никто не поможет?
Сайт инди игр Мои игры D-Race D-Race 2: new challenge
|
|
| |