Воскресенье, 24 Ноября 2024, 21:34

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Вопросы по окончанию уровня.
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
  • Страница 1 из 1
  • 1
Поиск:

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