|
[ На главную ] -- [ Список участников ] -- [ Правила форума ] -- [ Зарегистрироваться ] |
On-line: |
Game Maker Форум / Ресурсы (графика, звук, музыка, DLL, Script'ы и Библиотеки) / Несколько_фишек |
Страницы: 1 2 Next>> |
Автор | Сообщение | ||
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 22-05-2006 19:08 | ||
Здесь представлены некоторые скрипты, типа как сделать паузу, нормально сохранять игру, и т.п. | |||
CH@$ER Дундук - не беспокоить! Группа: Модераторы Сообщений: 1435 |
Добавлено: 22-05-2006 19:25 | ||
Где представлены? | |||
BootyCat мастер Группа: Сообщество GM Сообщений: 88 |
Добавлено: 22-05-2006 21:45 | ||
Он наверное вот это имел ввиду Для нюберов...
|
|||
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 24-05-2006 11:04 | ||
ВОТ. Что раньше не писал – SORRY!!! Бабки на инете кончились. Несколько фишек. Сохранение игры. Sg = ""; Sg = get_save_filename("Файлы игр (*.sav)|*.sav", "game.sav"); if (Sg = "") {exit} if not (string_copy(Sg, string_length(Sg) - 3, 4) = ".sav") { Sg = Sg + ".sav"; } game_save(Sg); Загрузка Lg = ""; Lg = get_open_filename("Файлы игр (*.sav)|*.sav", "game.sav"); if Lg = "" {exit} if (file_exists(Lg)) { game_load(Lg); } Пауза (не работает в 3д режиме) draw_set_font(Здесь ввести шрифт); draw_set_color(c_red); draw_set_halign(fa_center); draw_text(320,100, 'Пауза. Нажмите любую клавишу.'); screen_refresh(); keyboard_wait(); io_clear(); Рисует количество патронов. { //Аргумент0-количество пулей //Аргумент1-спрайт //Аргумент2-х //Аргумент3-у //Аргумент4-ширина спрайта var abc, ttt; abc=argument0; repeat(argument0) {draw_sprite(argument1,-1,argument2+ (abc-1)*argument4,argument3); abc-=1} } Как лучше всего сделать так, чтобы для каждого уровня игралась разная музыка? В свойствах комнаты в разделе Settings в Creation Code написать: global.mus=music1 (к примеру) и создать объект obj_music и там, в событии Create написать код { sound_loop(global.mus); } Это удобно!!! |
|||
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 24-05-2006 11:04 | ||
Кто знает, как сделать нормальную паузу в 3д режиме? | |||
Mad Sergei маэстро Группа: Сообщество GM Сообщений: 501 |
Добавлено: 24-05-2006 19:29 | ||
Я знаю,а какую надо? | |||
CRYSTALL m маэстро Группа: Сообщество GM Сообщений: 812 |
Добавлено: 25-05-2006 04:35 | ||
Так же как и в 2Д режиме - сохраняем экран как бэкграунд, ставим конате persistent, выключаем 3Д, переходим в другую комнату, там как фон ставим только что сделанный скрин, пмшем на весь экран "ПАУЗА", ждём нажатия кнопки, включаем 3Д переходим в следующую комнату, снимаем persistent. Примечания: 1) операции в persistent только в том случае, если изначально не было такой установки 2) Переход осуществляется между игровой комнатой и комнатой Паузы. 3)Мозданный бэкграунд должен быть глобальным, т.е. global.bk=background_create_from_screen(...) 4) Придумай, как зделать красивую заставку на пазу - у каждого она своя. |
|||
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 26-05-2006 14:57 | ||
такая пауза работает только в Гейм Мейкер 5, в шестом там просто таких команд нет - font_color, font_size и т.п. |
|||
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 26-05-2006 14:59 | ||
Спасибо, мне именно это и надо было!!! |
|||
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 26-05-2006 21:33 | ||
Я попробовал, чё-то фигово у меня работает - на скриншоте откуда ни возьмись появляются странные полосы. А как только persistent снимаешь, все объекты возвращаются на старые места Можно ли где-нибудь пример скачать? |
|||
CRYSTALL m маэстро Группа: Сообщество GM Сообщений: 812 |
Добавлено: 27-05-2006 19:58 | ||
Persistent Снимаем после перехода в комнату игры,а не до, так же и 3Д выключаем до перехода в комнату паузы и включаем после перехода. Наверное у тебя ГМ глючет. случайно не 6.0 ли версия? |
|||
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 28-05-2006 09:17 | ||
Нет у меня 6.1. Спасибо. Теперь все работает. А странные полосы - это были стены, вид 3д комнаты сверху |
|||
CRYSTALL m маэстро Группа: Сообщество GM Сообщений: 812 |
Добавлено: 28-05-2006 20:00 | ||
Создать что ли тему про ньюансы в ГМ? Или же эту изгадить? Вроде для темы ньюансы подходит. Вот несколько важных замечаний: 1) Если вы пишите при создании объектов так: iii=instance_create(x,y,obj) iii.xx=x+5, и в событии создания объекта obj наисанно, что xx=240, то xx будет равно значению которое мы присваиваем с помощью индексирования, т.е: iii=instance_create(x,y,obj) - создаём объект, здесь выполняеится событие создания для него iii.xx=x+5 - присваиваем этому объекта новое значение. Однако нужно учесть, что если вы пользуетесь creation code для объектов в комнатах, то такой трюк не пройдёт, т.е. если вы хотите назначить ему какой либо параметр, то нужно, чтобы он не был описан в событии create этого объекта. 2) В событии Draw, рисование происходит наложением, т.е. первое нарисованное будет лежать в самом низу, второе выше и т.д. важно учесть, что рисование происходит через кривое место и лучше в этом событии не ставить счётные операции. При использовании события рисования спрайт объекта по умолчанию не отображается, т.е если нужно нарисовать спрайт, то вам придётся делать это самим. 3) После функции instance_destroy() при использовании перетаскивания иконок не должны стоять другие функции - они не сработают, однако еслы это сделать с помощью кода, то всё раотает. 4) С загрузкой спрайтов из файлов нужно быть осторожным: если комната Persistent, вы загрузили спрайты из файла и сохранились, то спрайты не сохранятся и их не будет видно. НЕ ДЕЛАЙТЕ ТАК НИКОГДА!!! Мог бы ещё кой чего написать, только всё сразу не вспомню. НО всем скажу, чтобы ВЫ следили за последовательностью действий в ГМ - это очень важно, если вы хотите добится хороших результатов в программировании на ГМ. |
|||
Paradox магистр Группа: Сообщество GM Сообщений: 462 |
Добавлено: 29-05-2006 20:35 | ||
паузу легче можно делать. Надо только во все параметры вводить коэффициент скорости. Тогда не только можно примочки матрицы делать (замедлить все в 2 раза, не через ФПС а через коэффициент), но и вообще все заморозить | |||
Ka1miK Тут могла быть ваша реклама Группа: Сообщество GM Сообщений: 1014 |
Добавлено: 22-06-2006 21:22 | ||
А почему это в Draw вычисления плохие? Мне логически бы доказать? |
|||
CRYSTALL m маэстро Группа: Сообщество GM Сообщений: 812 |
Добавлено: 23-06-2006 03:24 | ||
Можно и в доав ставить, но только это будет происходить в самом конце, т.к. событие рисования выполняется самым последним. | |||
Ka1miK Тут могла быть ваша реклама Группа: Сообщество GM Сообщений: 1014 |
Добавлено: 26-06-2006 22:38 | ||
Ну и что тут плохого? Всмысле рисую я вектор, мудовым процессом, мне же не ставить вычисления в степу, а потом использовать полученное в драве? | |||
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 02-07-2006 14:36 | ||
По-моему, таким способом нельзя сделать так, чтоб в паузе были кнопки: загрузить, сохранить... |
|||
Ka1miK Тут могла быть ваша реклама Группа: Сообщество GM Сообщений: 1014 |
Добавлено: 08-07-2006 14:46 | ||
Интересно это почему? Поставил везде коэфециент на нуль, и рисуешь себе на экране загрузить, сохранить и прочее, само собой к этим кнопкам коэф. вообще никакого значения не имеет |
|||
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 10-07-2006 07:17 | ||
Еще один нюанс. У меня проблема в 1 игре была, как идиот на нее времени кучу убил... В общем, я создал объект health, при коллизии с которым здоровье увеличивается на 30. Если сделать это кнопкой (действием) , то все работает , а кодом - нет, т.к. транслятор "понимает" health+=30 как ID объекта, и выдает ошибку. Вообще, не надо было такого объекта создавать, а переименовать его в o_health |
Страницы: 1 2 Next>> |
Game Maker Форум / Ресурсы (графика, звук, музыка, DLL, Script'ы и Библиотеки) / Несколько_фишек |