Добавлено (28.06.2011, 16:27) --------------------------------------------- Vuvk, управление то настраивать можно, но оно работает только в одиночной игре. И ещё неплохо было бы настраивать управление для двоих.
Лучше разместить панель, где отображается оружие, в верхнем углу экрана, потому что идти, не зная куда, не очень хочется . Steel Standoff - 2D аркада. Мои статьи
Неплохо было бы добавить паузу, чтобы после нажатия Esc не приходилось начинать игру с чекпоинта. Хорошо, что отказались от автоматического выбора оружия атаки. Больше разнообразия . Steel Standoff - 2D аркада. Мои статьи
Я деактивирую объекты кодом, который написан в справке ГМ.
Думаю, NeZnayu имел в виду, что активными должны оставаться только объекты в пределах вида. В Game Maker есть функция, которая активирует экземпляры объектов, находящихся в прямоугольной области. В справке даже код подходящий есть, только там нужно поменять местами действия: активацию и деактивацию. Steel Standoff - 2D аркада. Мои статьи
Размер фона больше чем размер комнаты или такой же? Если размер фона больше размера комнаты, то игра может подвисать. Steel Standoff - 2D аркада. Мои статьи
Это не самый удачный способ, но подойдёт, если треки добавлялись в игру не последовательно. Если же последовательно, тогда можно циклом сделать то же самое:
Code
for (i=0; i<25; i+=1) // цикл от 0 до 24 { snd[i] = i; // записываем в индекс массива порядковый номер трека } track = 0; // номер трека
А теперь в событии step (Шаг) этого объекта:
Code
if !sound_isplaying(snd[track]) {if track <24 track+=1 else track=0} // если трек не проигрывается, тогда проверяем: если список треков не закончился, тогда запускаем следующий трек, иначе, начинаем воспоизведение сначала
Знаю, что подобное тут уже спрашивали... как сделать, чтобы гг двигался только влево, вправо, вниз и вверх. просто получается, если нажать на вверх и вЛево (вправо, вниз+вправо/влево) одновремдно, то гг движется по диагонали.
Code
if keyboard_check(vk_left) x-=4 else if keyboard_check(vk_right) x+=4 else if keyboard_check(vk_up) y-=4 else if keyboard_check(vk_down) y+=4