Сотни, а то и тысячи людей работают с Game Maker и так толком не разобрались со скриптами. Все скрипты Game Maker должны быть написаны на языке GML. Но я Delphi программист, я знаю что Game Maker для Windows'а изначально был написан на Delphi. Поэтому код GML так сильно смахивает на Object Pascal.
Как вы уже наверное догадались мы в этом уроке будем писать игры не на "чистом GML", а на смеси синтаксиса GMLэля с Delphi.
Первое правило написания кода:
После каждой строки кода вы можете для удобства поставить точку с запятой. Это не только упрощает ориентировку в коде, но и застраховывает вас от неверной компиляции кода. Пример:
d:=1;
Второе правило написания кода:
Скрипты в Game Maker в основном нужны для изменения значений переменных. Мы это уже знаем. Присвоить значение переменной можно двумя путями:
d:=1;
d=1
Третье правило написания кода:
Скрипты в Game Maker в основном могут быть типа String(строчный) - текст, Boolean(булево) - ложь/правда и Real(вещественный) - числа. Столь привычный для программистов тип данных Integer не встречается в Game Maker напрямую.
Четвертое правило написания кода:
Если после оператора If нужно написать 2 и более строк кода то нужно использовать begin. Если 1 строка то можно обойтись без него:
1 строка:
if global.nn = 0
game_restart()
2 строки:
if global.nn = 0
begin
global.nn=1
game_restart()
end
С теорией разобрались. Теперь перейдем к практике.
Нарисуем sprite0.
Это будет просто синий квадрат. И sprite1. Это красный квадрат.
И создадим два объекта ob0 и ob1. Для ob0 - sprite0. А для ob1 конечно-sprite1.
Создаем комнату и располагаем объекты в следующем порядке.
Создаем событие Create для ob0 и пишем скрипт:
global.d:=0;
Теперь создаем событие Left Button для ob0 и пишем скрипт:
global.d:=1;
show_message('Изменено');//Это сообщение
А теперь делаем событие для ob1 - Left Button и пишем скрипт:
if global.d = 1 then
begin
global.d:=2;
show_message('Ха!');
end;
Запускаем... Проверяем скрипты. Кликаем по ob0, а потом по ob1. Если у вас появилось сообщение: "Изменено", а за тем "Ха!", то скрипт верен. Лично у меня все заработало.
Но можно обойтись без последнего скрипта. Накидаем в событие ob1 - Left Button следующие действия из вкладки Control:
В действие Test Expression(Вопросик) пишем:
global.d = 1
А в скрипте(Второй снизу) пишем:
global.d:=2;
Сообщение можно изменить по вашему вкусу.
Только что мы упростили сложный для новичков код в несколько "кубиков". Удачи вам в создании игр
|
0 коментарі:
Отправить комментарий