пятница, 9 ноября 2012 г.

Как написать самому нужный скрипт или как можно без него обойтись.



Сотни, а то и тысячи людей работают с 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(Str) - текст, и типа Integer(Int) - числа.

Четвертое правило написания скриптов:
Если после оператора 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;

Сообщение можно изменить по вашему вкусу.
Только что мы упростили сложный для новичков код в несколько "кубиков". Удачи вам в создании игр и если вас заинтересовал Delphi то заходим сюда: http://professional-pc.ucoz.ru/

1 комментарий: