Дополнительные переменные

Вы создаёте новые переменные, определяя значение для них (объявлять их сначала не требуется). Если Вы просто используете имя переменной, то она будет сохранена только с образцом текущего объекта. Так что, не дожидаясь его нахождения, она будет работать со следующим объектом (или другим образцом этого объекта). Вы можете устанавливать и считывать переменные в других объектах, помещая название объекта с точкой перед именем этой переменной.

Чтобы создать глобальные переменные, которые являются видимыми для всех образцов объекта, перед переменной пишите слово global и точку. Вы, например, можете записать так:

{
  if (global.doit)
  {
    // сделаем что-нибудь
    global.doit = false;
  }
}

Также Вы можете объявить глобальные переменные. Это объявление выглядит следующим образом.

globalvar <varname1>,<varname2>,<varname3>, ... ;

Как только это объявление было выполнено, переменная всегда обрабатывается как глобальная переменная без потребности помещать слово global и точку перед ним. Она должна быть только объявлена один раз в части кода, который выполнен. После этого во всех других местах переменную считают как глобальную.

Иногда Вы можете захотеть, чтобы переменные были только в пределах текущей части кода или сценария. Этим методом Вы избегаете потерю памяти и можете быть уверены в невозникновении конфликта в присваивании имён. Это быстрее, чем использование глобальных переменных. Чтобы определить данное действие, Вы должны назначить переменные в начале части кода, используюя ключевое слово var. Это выглядит следующим образом.

var <varname1>,<varname2>,<varname3>, ... ;

Например, Вы можете написать:

{
  var xx,yy;
  xx = x+10;
  yy = y+10;
  instance_create(xx,yy,ball);
}