Итак, мы хотим, чтобы игрок шагал по клеткам 32х32 т.е. по сетке. Создаём объект игрока. Назовём его o_player , а спрайт соответственно - s_player . Теперь в объекте o_player в событии Create пишем код:
G=32//придаём сетке значение G, а G=32 px S=4//установка скорости. скорость - S=4
if keyboard_check(vk_left) && Move[1,0]=true{ motion_set(180,S)//шагать налево со скоростью S }
if keyboard_check(vk_right) && Move[1,1]=true{ motion_set(0,S)//шагать направо со скоростью S }
if keyboard_check(vk_down) && Move[1,2]=true{ motion_set(270,S)//шагать вниз со скоростью S }
if keyboard_check(vk_up) && Move[1,3]=true{ motion_set(90,S)//шагать наверх со скоростью S } }
вот и всё.
Создание объекта и жизни.
Создаём спрайт. Рисуем спрайт нашего героя или монстра.
Дальше делаем объект задаём ему наш нарисованный спрайт. (скрин)
Создаём событие Create
Открываем вкладку control (скрин)
Дальше мы видим подразделы: Questions. Other. Code. Variables
В подразделе Code выбираем это (скрин)
И перетаскиваем её в ближайшее поле.
После того как вы перетащили будет окно как в блокноте.
Пишите в это окне так - Health=100
Всё! Готово. Вы сделали жизни своему объекту!
Доп.урок. - отнятие жизней при столкновении с монстром.
Делаем собитие - Столкновение с (нужным вашим монстром)
Также вставляем код. Во вкладке Conrol.
Код - health-=1
Ок. Теперь вы можете умирать)
Сообщение в начале игры + ввод имени героя
В Create героя пишете:
global.name=get_string('Ваш Текст','любое имя')
Вот в принципе и всё.
Ходьба,прицеливание,слежения героя за мышкой.
В step героя пишем код: if keyboard_check(vk_left) or keyboard_check(ord('A')) && place_free(x-4,y) x-=4 if keyboard_check(vk_right) or keyboard_check(ord('D')) && place_free(x+4,y) x+=4 if keyboard_check(vk_up) or keyboard_check(ord('W')) && place_free(x,y-4) y-=4 if keyboard_check(vk_down) or keyboard_check(ord('S')) && place_free(x,y+4) y+=4 image_angle=point_direction(x,y,mouse_x,mouse_y)
И уоля герой ходит за мышкой!)
Создание меню. (новичкам)
Здравствуйте! Я поясню вам как написать меню скриптом GML. Создадим объект назовите его o_new_game. (наверное вы поняли что это объект для "Новая игра") Делаем событие Mouse->Left Pressed (Мышь->Левая нажата) переходим во вкладку Control и вставляем Execute Code. Откроется табличка как в блокноте. Сюда будем писать наше действие если вы нажали на объекта Новая игра. Пишим код: room_goto(lvl1) // room - комната, goto - указываем, lvl1 - сама комната, то есть мы задали действие что при нажатии на левую кнопку мыши на объект мы перенесёмся в комнату с именем lvl1. Сохраните данный код, нажав на зелёную галочку. Также создаём объект делаем тоже самое событие что и в предыдущем и вставляем код: game_end() // как вы видите по коду это конец игры, то есть при нажатии на объект с этим кодом вы выходите из игры в рабочую среду работы (windows) Создайте две комнаты. Первая комната - main_room, вторая комната - lvl1. Для полных новичков. Вы сделали два объекта. Нарисуйте спрайты к ним. Теперь войдите в сам объект и выберите спрайт так как это показано на рисунке. Теперь расставьте объекты в комнате. Теперь меню готово!
Мини карта (радар - мини урок для начинающих)
Рисование объектов на радаре. Здравствуйте! Сейчас мы сделаем радар для нашей игры, будь это Top Down Shooter или RPG. Создайте объект и назовите его o_radar, создайте событие Draw (рисование) Если вы хотите увидеть своего героя на мини карте (радара) то пишем код: draw_sprite(спрайт отображения на радаре,-1,объект героя.x/10,объект героя.y/10); // draw_sprite действует рисованием спрайта,x и y координаты героя по которому считывает местонахождение радар. И также вы можете сделать и с другими объектами. Рисование радара. Сохраните данный рисунок, и заложите его как спрайт. Назовите его s_radar. Создайте объект o_radar присвойте спрайт и сделайте глубину (depth) -150. Ставьте объект радара в верхний, левый угол.
Создание паузы в игре.
И снова здравствуйте! В этом уроке мы сделаем паузу в нашей игре или меню в игровом процессе. И так, давайте начнём. Создадим объект o_control , он будет у нас отвечать за паузу в нашей игре. Теперь в объекте o_control сделаем событие Create (создание) вкладка Control и выберем код Execute Code. Открывается таблица и пишем туда (сами) следующий код: pause=-1 // это будет переменная которая и будет отвечать за паузу в нашей игре. Теперь создадим новое событие Step (Шаг) проделываем тоже самое для вставки кода. Пишем следующий код: if keyboard_check_pressed(vk_escape)// при нажатии на кнопку Escape (Esc) pause*=-1// переменная будет равна -1 и игра остановится. (пауза) if keyboard_check_pressed(ord('Q'))&&pause=1 //При нажатии на кнопку Q game_end() // выход из игры.// выходим из игры. Теперь сделаем меню чтобы знать на паузе ли наша игра. Делаем событие Draw (рисование) и как обычно пишем код:
if pause=1 { draw_set_font(font0)// Шрифт для текста draw_set_color(c_black)// цвет обводки. draw_rectangle(x,y,x+128,y+64,0)// координаты обводки. draw_set_color(c_white)// цвет фона draw_rectangle(x+2,y+2,x+126,y+62,0)// координаты фона. draw_set_halign(fa_center) // всё находится по центу. draw_set_color(c_black)//цвет текста draw_text(x+64,y+10,'Game menu#Q - exit game#Esc - back game') } На этом урок закончен.
Создадим два спрайта в один! (для новичков)
В данном уроке я поясню как же сделать наведение и покидание курсором мыши кнопки. И так, давайте начнём со спрайтов. Сохраните данные спрайты и внесите их в Game Maker. (ВНИМАНИЕ данные спрайт считается как один поэтому вставляйте его как стрип для разделения) Теперь давайте создадим новый объект. Начнём с создания события Create (создание) и давайте вставим код. (желательно напишите всё сами)
image_single=0;
Теперь создайте следу.щее действие Mouse Enter (наведение курсором мыши) и пишем следу.щий код:
image_single=1;
Дальше создаём событие Mouse Leave (Покидание курсором мыши) и пишем подобный код:
image_single=0;
Дополнительно к уроку. - Тема: Создаём текст к объекту. Создайте шрифт и выберете Весь сохраните его. Теперь в объекте кнопки создайте событие Draw (Рисование) И пишем код: draw_sprite(sprite_index,image_single,x,y); draw_set_halign(fa_center); draw_set_valign(fa_center); draw_set_font(Шрифт); draw_text(x+32,y+8,"Текст на кнопке"); На данном уроке всё. Спасибо за внимание!
Создание полоски жизней сверху.
Создайте объект назовите его Health Bar. Создайте событие DRAW (рисование) Теперь откройте вкладку Score (справа) и выберите полоску жизней (на желтоватом фоне) Draw Health. Вставьте её в действия. Пишем там.
Кстати... За клетки спасибо! Оригинальный потход! Я лично думал что есть встроенная ф-ция, а ты все решил вполне оригинально Только дай обьяснения пожалуйста, что делает: