На этом уроке мы научимся использовать встроенный язык программирования Gml. Он очень важен: он расширяет возможности Game Maker и упрощает работу. Автором является Воронецкий «AlienRaven» Михаил.

Скачать все это можно здесь.

 

Содержание

 

Введение  7

1. Функции исчисления  8

1.1. Константы.. 8

1.2. Функции вычисления вещественных значений (Real-values functions) 8

1.3. Функции обработки строковых переменных (String handling functions). 8

2. Геймплей  10

2.1. Перемещение (Moving around) 10

2.1.1. Переменные и константы. 10

2.1.2. Функции и процедуры. 10

2.2. Образцы объектов (Instances) 11

2.2.1. Переменные и константы. 11

2.2.2. Функции и процедуры. 11

2.3. Синхронизация (Timing). 11

2.3.1. Переменные и константы. 11

2.3.2. Процедуры.. 12

2.4. Комнаты и игровой счет (Rooms and score) 12

2.4.1. Переменные и константы. 12

2.4.2. Функции и процедуры. 12

2.5. Генерация событий (Generating events) 12

2.5.1. Типы событий. 12

2.5.2. Константы. 14

2.5.3. Процедуры. 14

2.6. Дополнительные переменные и функции (Miscellaneous variables and functions) 14

2.6.1. Переменные. 14

2.6.2. Процедуры и функции. 14

3. Взаимодействие с пользователем. 15

3.1. Работа с мышью. 15

3.1.1. Идентификаторы клавишь мыши. 15

3.1.2. Переменные и константы. 15

3.1.3. Функции и процедуры. 15

3.2. Работа с клавиатурой. 15

3.2.1. Идентификаторы клавишь клавиатуры. 15

3.2.2. Переменные и константы. 16

3.2.3. Функции и процедуры. 16

3.3. Поддержка джойстика (Joystick support) 16

3.3.1. Функции. 16

4. Игровая графика (Game graphics). 17

4.1. Окно и курсор (Window and cursor) 17

4.1.1. Идентификаторы курсора: 17

4.1.2. Переменные и константы. 17

4.1.3. Процедуры. 17

4.2. Спрайты и изображения (Sprites and images). 18

4.2.1. Переменные и константы. 18

4.3. Задний фон (Backgrounds) 18

4.3.1. Переменные. 18

4.4. Тайлы (Tiles) 19

4.4.1. Переменнные и константы. 19

4.4.2. Функции и процедуры. 19

4.5. Рисование (Drawing functions) 20

4.5.1. Список доступных цветов. 20

4.5.2. Стили кистей. 20

4.5.3. Доступные стили шрифтов. 20

4.5.4. Доступные стили выравнивания текста. 20

4.5.5. Переменные и константы. 20

4.5.6. Процедуры и функции. 20

4.6. Виды (Views) 23

4.6.1. Переменные и константы. 23

4.7. Переходы (Transitions) 23

4.7.1. Переменные. 23

4.8. Обновление экрана (Repainting the screen) 23

4.8.1. Процедуры. 23

5. Звуки и музыка (Sound and music). 24

5.1. Работа со звуком.. 24

5.1.1. Процедуры и функции. 24

5.2. Работа с Audio CD.. 24

5.2.1. Процедуры и функции. 24

5.3. Работа с MCI-устройством Windows. 24

5.3.1. Процедура. 24

6. Splash screens, highscores, and other pop-ups  25

6.1. Демонстарция ресурсов. 25

6.1.1. Процедуры и функции. 25

6.2. Запросы значений. 25

6.2.1. Процедуры и функции. 25

6.3. Определение внешнего вида всплывающих сообщений. 26

6.3.1. Процедуры. 26

6.4. Таблица лучших результатов. 26

6.4.1. Процедуры и функции. 26

7. Ресурсы (Resources). 27

7.1. Спрайты (Sprites) 27

7.1.1. Процедуры и функции. 27

7.2. Звуки (Sounds) 27

7.2.1. Процедуры и функции. 27

7.3. Задние фоны (Backgrounds) 27

7.3.1. Процедуры и функции. 27

7.4. Пути (Paths) 28

7.4.1. Функции. 28

7.5. Скрипты (Scripts) 28

7.5.1. Функции. 28

7.6. Дата-файлы (Data Files) 28

7.6.1. Процедуры и функции. 28

7.7. Тайм-лайны (Time Lines) 28

7.7.1. Функции. 28

7.8. Объекты (Objects) 28

7.8.1. Функции. 28

7.9. Комнаты (Rooms) 29

7.9.1. Функции. 29

8. Изменение ресурсов (Changing resources) 30

8.1. Спрайты (Sprites) 30

8.1.1. Процедуры и функции. 30

8.2. Звуки (Sounds) 31

8.2.1. Процедуры и функции. 31

8.3. Задние фоны (Backgrounds) 31

8.3.1. Процедуры и функции. 31

8.4. Пути (Paths) 32

8.4.1. Процедуры и функции. 32

8.5. Скрипты (Scripts) 32

8.5.1. Процедуры. 32

8.6. Тайм-лайны (Time Lines) 33

8.6.1. Процедуры и функции. 33

8.7. Объекты (Objects) 33

8.7.1. Процедуры и функции. 33

8.8. Комнаты (Rooms) 33

8.8.1. Процедуры и функции. 33

9. Файлы, реестр и запуск внешних программ. (Files, registry, and executing programs) 35

9.1. Файлы. 35

9.1.1. Атрибуты файлов: 35

9.1.2. Константы. 35

9.1.3. Процедуры и функции. 35

9.2. Запуск внешних программ. 35

9.2.1. Константы. 35

9.2.2. Процедуры и функции. 35

9.3. Работа с реестром. 36

9.3.1. Процедуры и функции. 36

9.4. Ini – файлы. 36

9.4.1. Процедуры и функции. 36

10. Многопользовательские игры (Multiplayer games) 37

10.1. Инициализация подключения. 37

10.1.1. Процедуры и функции. 37

10.2. Игровые сессии. 37

10.2.1. Процедуры и функции. 37

10.3. Игроки. 37

10.3.1. Функции. 37

10.4. Данные. 37

10.4.1. Процедуры и функции. 37

10.5. Общение. 37

10.5.1. Процедуры и функции. 38

11. Частицы. 39

11.1. Типы частиц (Particle types) 39

11.1.1. Индексы формы частиц: 39

11.1.2. Переменные. 39

11.1.3. Процедуры и функции. 39

11.2. Системы частиц (Particle systems) 40

11.2.1. Процедуры и функции. 40

11.3. Эмиттеры (Emitters) 40

11.3.1. Индексы форм областей. 40

11.3.2. Индексы способов распространения частиц. 40

11.3.3. Переменные. 41

11.3.4. Процедуры и функции. 41

11.4. Аттракторы (Attractors) 41

11.4.1. Типы аттракторов: 41

11.4.2. Переменные. 41

11.4.3. Процедуры и функции. 41

11.5. Деструкторы (Destroyers) 42

11.5.1.  Индексы форм области, в которой частицы уничтожаются. 42

11.5.2. Переменные. 42

11.5.3. Процедуры и функции. 42

11.6. Дефлекторы (Deflectors) 42

11.6.1.  Типы дефлекторов. 42

11.6.2. Перемемнные. 42

11.6.3. Процедуры и функции. 42

11.7. Чейнджеры (Changers) 43

11.7.1. Типы областей. 43

11.7.2. Типы чейнджеров. 43

11.7.3. Переменные. 43

11.7.4. Процедуры и функции. 43

12. DLL. 44

12.1. DLL-библиотеки. 44

12.1.1. Функции. 44

12.2. Выполнение кода. 44

12.2.1. Процедуры и функции. 44

 

 

 

Введение

 

Вся информация в данном справочнике разита на разделы, которые в свою очередь разбиты на подразделы, таким образом, чтобы вам было максимально удобно найти интересующую вас информацию. Следует заранее оговорить некоторые моменты представления информации. При чтении справочника вы столкнетесь с такими понятиями, как переменная, константа, массив, функция, процедура и возвращаемое значение. На всякий случай я дам их определения для тех, кто не представляет, что это такое:

 

·         Переменная – выделенная именованная область памяти, которая хранит некоторое значение, которое вы можете изменять по своему усмотрению.

·         Константа – выделенная именованая область памяти, которая хранить некоторое значение, которое вы можете только использовать, но не изменять.

·         Массив – выделенная именованная область памяти, которая хранит несколько значений переменных или констант одного типа.

·         Функция – блок кода, который выполняет некоторые действия и при этом возвращает значение.

·         Процедура – блок кода, который выполняет некоторые действия и при этом не возвращает значения.

·         «Возвращение значения» обозначает, что внутри указанной функции производятся некоторые вычисления или действия, результат которых функция присваивает указанной переменной.

 

Информация представлена в следующем виде:

 

Для переменных, констант и массивов: имя_переменной - тип_переменной (тип_возвращаемого_переменной_значения), описание_переменной.

 

Для функций: имя_функции - Функция (тип_возвращаемого значения), описание функции.

 

Для процедур: имя_процедуры - Процедура, описание процедуры.

 

Вот, вроде бы и все, что следовало сказать.

 

1. Функции исчисления

 

1.1. Константы

 

true - Константа (boolean), истина, равняется единице.

false - Константа (boolean), ложь, равняется нулю.

pi - Константа (real), число Пи, равняется 3.1415...

 

1.2. Функции вычисления вещественных значений (Real-values functions)

 

random(x) - Функция (real), возвращает случайное вещественное число между 0 и x. Число всегда меньше, чем x.

abs(x) - Функция (real), возвращает абсолютную величину x, т.е. модуль числа.

sign(x) - Функция (real), возвращает знак числа x. Если знак отрицательный, то возвращается значение –1, в противном случае 1.

round(x) - Функция (real), возвращает x, округленный до самого близкого целого числа.

floor(x) - Функция (real), возвращает пол x, то есть x округленный до ближайшего целого числа, которое меньше x.

ceil(x) - Функция (real), возвращает потолок x, то есть x округленный до ближайшего целого числа, которое больше x.

frac(x) - Функция (real), возвращает дробную часть x, т. е. часть, стоящую позади десятичной точки.

sqrt(x) - Функция (real), возвращает квадратный корень из x. X должен быть неотрицательным.

sqr(x) - Функция (real), возвращает x*x.

power(x,n) - Функция (real), возвращает x в степени n.

exp(x) - Функция (real), возвращает e в степени x.

ln(x) - Функция (real), возвращает натуральный логарифм от x.

log2(x) - Функция (real), возвращает логарифм от x по основанию 2.

log10(x) - Функция (real), возвращает логарифм от x по основанию 10.

logn(n,x) - Функция (real), возвращает логарифм от x по основанию n.

sin(x) - Функция (real), возвращает синус x (в радианах).

cos(x) - Функция (real), возвращает косинус x (в радианах).

tan(x) - Функция (real), возвращает тангенс x (в радианах).

arcsin(x) - Функция (real), возвращает арксинус x (в радианах).

arccos(x) - Функция (real), возвращает арккосинус x (в радианах).

arctan(x) - Функция (real), возвращает арктангенс x (в радианах).

arctan2(y,x) - Функция (real), возвращает точное значение арктангенса x/y (в радианах).

degtorad(x) - Функция (real), преобразовывает градусы в радианы.

radtodeg(x) - Функция (real), преобразовывает радианы в градусы.

min(x,y) - Функция (real), сранивает x и y и возвращает меньшее из них.

max(x,y) - Функция (real), сранивает x и y и возвращает большее из них.

min3(x,y,z) - Функция (real), сранивает x, y и z и возвращает меньшее из них.

max3(x,y,z) - Функция (real), сранивает x, y и z и возвращает большее из них.

mean(x,y) - Функция (real), возвращает среднее от x и y, т.е. (x+y)/2.

point_distance(x1,y1,x2,y2) - Функция (real), возвращает расстояние (в пикселях) между точкой (x1,y1) и (x2,y2).

point_direction(x1,y1,x2,y2) - Функция (real), возвращает угол (в градусах) между осью X и вектором с началом в точке (x1,y1) и концом в точке (x2,y2).

lengthdir_x(len,dir) - Функция (real), возвращает коэффициент при i-базисном векторе, для заданного вектора длины len и направления dir в полярной системе координат.

lengthdir_y(len,dir) - Функция (real), возвращает коэффициент при j-базисном векторе, для заданного вектора длины len и направления dir в полярной системе координат.

is_real(x) - Функция (boolean), возвращает true, если x является числом.

is_string(x) - Функция (boolean), возвращает true, если x является строкой.

 

1.3. Функции обработки строковых переменных (String handling functions).

 

chr(val) - Функция (string), возвращает символ с ascii-кодом val.

ord(str) - Функция (string), возвращает ascii-код первого символа в строке.

real(str) - Функция (string), если в строковой переменной содержится число, то данная функция переводит его в вещественный тип и возвращает полученную строку.

string(val) - Функция (real), переводит значение вещественной переменной в стандартный строковый формат (без чисел после запятой, если число целое и с двумя числами, если дробное) и возвращает полученное число.

string_format(val,tot,dec) - Функция (real), переводит значение вещественной переменной val в ваш собственный строковый формат (tot - общее количество чисел, dec - количество чисел после запятой).

string_length(str) - Функция (real), возвращает количество символов в строке str.

string_pos(substr,str) - Функция (real), возвращает начальную позицию подстроки substr в строке str или ноль, если указанная подстрока не встречается.

string_copy(str,index,count) - Функция (string), возвращает подстроку, содержащуюся в строке  str, начинающуюся с позиции index, и общей длинной count.

string_char_at(str,index) - Функция (string), возвращает символ, находящийся в позиции index строки str.

string_delete(str,index,count) - Функция (string), возвращает строку str, из которой удалена подстрока, которая начинается с позиции index и общей длиной count.

string_insert(substr,str,index) - Функция (string), возвращает строку str, в которую вставлена подстрока substr, еачиная с указанной позиции index.

string_replace(str,substr,newstr) - Функция (string), возвращает строку str, в которой первая встречающаяся подстрока substr будет заменена на подстроку newstr.

string_replace_all(str,substr,newstr) - Функция (string), возвращает строку str, в которой все встречающиеся подстроки substr заменены на подстроки newstr.

string_count(substr,str) - Функция (real), возвращает число, которое показывает, сколько раз подстрока substr встречается в строке str.

string_lower(str) - Функция (string), возвращает строку str, записанную маленькими буквами.

string_upper(str) - Функция (string), возвращает строку str, записанную большими буквами.

string_repeat(str,count) - Функция (string), возвращает строку, которая состоит из строки str, повторяющейся count раз.

string_letters(str) - Функция (string), возвращает строку str, выбрасывая из нее все числа.

string_digits(str) - Функция (string), возвращает строку str, выбрасывая из нее все буквенные символы.

string_lettersdigits(str) - Функция (string), возвращает строку str, выбрасывая из нее все, что не является буквенным символом либо числом.

clipboard_has_text() - Функция (boolean), возвращает true, если буфер обмена содержит текст.

clipboard_get_text() - Функция (string), возвращает текст, который в текущий момент содержится в буфере обмена.

clipboard_set_text(str) - Процедура, помещает строку str в буфер обмена.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Геймплей

 

2.1. Перемещение (Moving around)

 

2.1.1. Переменные и константы.

 

x - Переменная (real), отражает координату образца объекта по оси ОX.

y - Переменная (real), отражает координату образца объекта по оси OY.

xprevious - Переменная (real), отражает координату образца объекта по оси OX, в которой он находился в предыдущем шаге.

yprevious - Переменная (real), отражает предыдущую координату образца объекта по оси OY, в которой он находился в предыдущем шаге.

xstart - Переменная (real), отражает координату по оси OX, в которой образец объекта создается в текущей комнате.

ystart - Переменная (real), отражает координату по оси OY, в которой образец объекта создается в текущей комнате.

hspeed - Переменная (real), отражает величину скорости перемещения образца объекта по горизонтали.

vspeed - Переменная (real), отражает величину скорости перемещения образца объекта по вертикали.

direction - Переменная (real), отражает текущее направление образца объекта (от 0 до 360 градусов, отсчет ведется против часовой стрелки, 0 - направо).

speed - Переменная (real), отражает текущую скорость образца объекта (измеряется в пикселях, пройденных за шаг).

friction - Переменная (real), отражает текущее трение образца объекта (измеряется в пикселях, пройденных за шаг).

gravity - Переменная (real), отражает силу гравитации для текущего образца объекта (измеряется в пикселях, пройденных за шаг).

gravity_direction - Переменная (real), отражает направление гравитации для текущего образца объекта (от 0 до 360 градусов, отсчет ведется против часовой стрелки, 0 - направо).

path_index - Переменная (real), отражает идентификатор пути, установленного для текущего образца объекта. Содержит –1, если путь не установлен.

path_position - Переменная (real), отражает позицию образца объекта в установленном для него пути. Содержит 0, если объект находится в начале пути, 1 - если в конце.

path_orientation - Переменная (real), отражающая направление (считается против часовой стрелки) , в котором повернут образец объекта в то время, когда он проходит установленный для него путь. Содержит 0 для нормального прохождения пути.

path_scale - Переменная (real), отражающая масштабирование пути. Значение по умолчанию: 1. Для того чтобы увеличить размер пути увеличьте значение данной переменной.

 

2.1.2. Функции и процедуры.

 

motion_set(dir,speed) - Процедура, заставляет текущий образец объекта двигаться в направлении dir со скоростью speed.

motion_add(dir,speed) - Процедура, векторно добавляет движение со скоростью speed и направлением dir к текущему движению образца объекта.

place_free(x,y) - Функция (boolean), возвращает true, если с образцом объекта, помещенным в точку с координатами (x,y), не происходит столкновений с твердыми объектами. Обычно данная функция используется для проверки перед непосредственным перемещением образца объекта в позицию с координатами (x,y).

place_empty(x,y) - Функция (boolean), возвращает true, если с образцом объекта, помещенным в точку с координатами (x,y) не происходит вообще никаких столкновений.

place_meeting(x,y,obj) - Функция (boolean), возвращает true, если при помещении текущего образца объекта в точку с координатами (x,y) происходит столкновение оного с образцом объекта obj.

place_snapped(hsnap,vsnap) - Функция (boolean), возвращает true, если текущий образец объекта находится в ячейке сети, расчерченной начиная с самого начала комнаты, вертикальные линии которой проведены через vsnap пикселей, а горизонтальные через hsnap пикселей.

move_random(hsnap,vsnap) - Процедура, перемещает текущий образец объекта в произвольную свободную ячейку сети текущей комнаты.

move_snap(hsnap,vsnap) - Процедура, перемещает текцщий образец объекта в ближайшую ячейку сети текущей комнаты.

move_towards_point(x,y,sp) - Процедура, заставляет текущий образец объекта двигаться по направлению к точке с координатами (x,y) со скоростью sp.

move_bounce_solid(adv) - Процедура, проверяет, если adv = true, то текущий образец объекта будет рикошетить от образцов твердых объектов.

move_bounce_all(adv) - Процедура, проверяет, если adv = true, то текущий образец объекта будет рикошетить от образцов всех объектов.

move_contact_solid(dir,maxdist) - Процедура, заставляет образец объекта двигаться в направлении dir до тех пор, пока текущий образец объекта не столкнется с образцом твердого объекта. Аргумент maxdist содержит максимальную дистанцию (в пикселях), которую следует пройти образцу объекта. Т.е. если образец объекта проходит максимальную дистанцию, но не встречает образцов твердых объектов, то он все равно остановится. Если вы хотите, чтобы образец объекта все же двигался до столкновения, независимо от размера пройденного пути, присвойте maxdist значение -1.

move_contact_all(dir,maxdist) - Процедура, то же самое, что и предыдущая процедура с тем отличием, что образец объекта будет двигаться, пока не столкнеться с образцом любого объекта.

move_outside_solid(dir,maxdist) - Процедура, заставляет образец объекта двигаться в указанном направлении dir до тех пор, пока текущий образец объекта соприкасается с образцом твердого объекта. Если при создании образца объекта "соприкосновения" не происходит, то образец остается на месте. Аргумент maxdist содержит расстояние (в пикселях), которое образец объекта должен пройти.

move_outside_all(dir,maxdist) - Процедура, то же самое, что и предыдущая процедура с тем отличием, что образец объекта будет двигаться, пока происходит "соприкосновени" с образцом любого объекта.

distance_to_point(x,y) - Функция (real),возвращает длину дистанции от точки с координатами текущего образца объекта до точки с координатами (x,y).

distance_to_object(obj) - Функция (real),возвращает длину дистанции от точки с координатами текущего образца объекта до ближайшего образца объекта obj.

position_empty(x,y) - Функция (boolean),возвращает true, если в точке с координатами (x,y) ничего не находится.

position_meeting(x,y,obj) - Функция (boolean),возвращает true, если в точке с координатами (x,y) находится образец объекта obj.

 

2.2. Образцы объектов (Instances)

 

2.2.1. Переменные и константы.

 

object_index - Константа (real), идентификатор объекта, которому принадлежит текущий образец.

id - Константа (real), уникальный идентификационный номер текущего образца объекта (больше 100000). При создании образцов объектов в комнатах вы можете увидеть id образца объекта, если наведете на него курсор.

mask_index - Переменная (real), идентификатор спрайта, который используется в качестве маски для столкновений для текущего образца объекта. Значение -1 устанавливает в качествемаски текущий спрайта для данного объекта.

solid - Переменная (boolean) отражает, является ли текущий образец объекта твердым.

persistent - Переменная (boolean) отражает, является ли текущий образец объекта постоянным и будет ли он появляться при переходе в другую комнату.

instance_count - Константа (real), содержит общее количество образцов в текущей комнате.

instance_id[0..n-1]Массив констант (real), содержит id конкретного образца объекта. Здесь n является номером образца.

 

2.2.2. Функции и процедуры.

 

instance_find(obj,n) - Функция (real), возвращает идентификатор id образца объекта obj за номером (n+1).

instance_exists(obj) - Функция (boolean), возвращает true, если образец объекта obj существует.

instance_number(obj) - Функция (real), возвращает количество образцов объекта obj.

instance_position(x,y,obj) - Функция (real), возвращает идентификатор id образца объекта obj, находящегося в точке (x,y). Если в указанной точке находятся несколько образцов объекта obl, то функция возвращает id первого образца.

instance_nearest(x,y,obj) - Функция (real), возвращает идентификатор id ближайшего к точке (x,y) образца объекта obj.

instance_furthest(x,y,obj) - Функция (real), возвращает идентификатор id наиболее отдаленного от точки (x,y) образца объекта obj.

instance_place(x,y,obj) - Функция (real), возвращает идентификатор id образца объекта obj, который встретится, если текущий образец поместить в точку с координатами (x,y).

instance_create(x,y,obj) - Функция (real), создает образец объекта obj в точке, с координатами (x,y). Функция возвращает идентификатор id созданного образца.

instance_copy(performevent) - Функция (real), создает копию текущего образца. Аргумент функции performent показывает, следует ли исполнять для полученной копии событие создания. Функция возвращает идентификатор id копии образца.

instance_destroy() - Процедура, уничтожает текущий образец объекта.

instance_change(obj,perf) - Процедура, заменяет текущий образец объекта на образец объекта obj. Переменная perf показывает, выпонять ли события уничтожения и создания.

position_destroy(x,y) - Процедура, уничтожает все образцы, спрайты которых находятся в точке (x,y).

position_change(x,y,obj,perf) - Процедура, заменяет все образцы, находящиеся  в точке (x,y) на образцы объекта obj. Переменная perf показывает, выпонять ли события уничтожения и создания.

 

2.3. Синхронизация (Timing).

 

2.3.1. Переменные и константы.

 

room_speed - Переменная (real), текущая скорость комнаты (измеряется в шагах в секунду).

fps - Константа (real), количество фактически отрисованных кадров в секунду.

current_time - Константа (real), время в миллисекундах, которое прошло с момента запуска игры.

current_year - Константа (real), текущий год.

current_month - Константа (real), текущий месяц.

current_day - Константа (real), текущее число.

current_weekday - Константа (real), текущий день недели (1=воскресенье, …, 7=суббота).

current_hour - Константа (real), текущий час.

current_minute - Константа (real), текущая минута.

current_second - Константа (real), текущая секунда.

alarm[0..7] - Массив переменных (real), значение для указанного таймера. (Не забудьте, что таймер будет вести отсчет только в том случае, если событие таймера для объекта содержит действия.)

timeline_index - Переменная (string), идентификатор таймлайна, присвоенного текущему объекту. Если переменная равняется -1, то объект не будет использовать таймлайны.

timeline_position - Переменная (real), содержит текущую позицию установленного таймлайна.

timeline_speed - Переменная (real), скорость шага таймлайна (По умолчанию, за один шаг позиция таймлайна увеличивается на единицу.)

 

2.3.2. Процедуры

 

sleep(numb) - Процедура, заморживает игру на numb миллисекунд.

 

2.4. Комнаты и игровой счет (Rooms and score)

 

2.4.1. Переменные и константы.

 

room - Переменная (real), содержит идентификатор текущей комнаты.

room_first - Константа (real), содержит идентификатор первой комнаты в игре.

room_last - Константа (real),содержит идентификатор последней комнаты в игре.

room_width - Константа (real), содержит ширину комнаты в пикселях.

room_height - Константа (real), содержит высоту комнаты в пикселях.

room_caption - Переменная (string), содержит строку, которая будет выводится в заголовке окна игры.

room_persistent - Переменная (boolean), определяет, является ли комната постоянной.

score - Переменная (real), содержит текущий игровой счет.

lives - Переменная (real), содержит текущее количество жизней.

health - Переменная (boolean), содержит текущее здоровье.

show_score - Переменная (boolean), определяет, отражать игровой счет в заголовке окна или нет.

show_lives - Переменная (boolean), определяет, отражать количество жизней в заголовке окна или нет.

show_health - Переменная (boolean), определяет, отражать текущее здоровье в заголовке окна или нет.

caption_score - Переменная (string), определяет, что будет написано перед значением игрового счета в заголовке окна.

caption_lives - Переменная (string), определяет, что будет написано перед значением жизней в заголовке окна.

caption_health - Переменная (string), определяет, что будет написано перед значением здоровья в заголовке окна.

 

2.4.2. Функции и процедуры.

 

room_goto(numb) - Процедура, совершает переход в комнату с идентификатором numb.

room_goto_previous() - Процедура, совершает переход в предыдущую комнату.

room_goto_next() - Процедура, совершает переход в следующую комнату.

room_restart() - Процедура, перезапускает текущую комнату.

room_previous(numb) - Функция (real), возвращает идентификатор предыдущей комнаты, но не совершает переход в нее.

room_next(numb) - Функция (real), возвращает идентификатор следующей комнаты, но не совершает переход в нее.

game_end() - Процедура, завершает игру.

game_restart() - Процедура, перезапускает игру.

game_save(string) - Процедура, сохраняет игру в файл с именем string.

game_load(string) - Процедура, загружает игру из файла с именем string.

 

2.5. Генерация событий (Generating events)

 

2.5.1. Типы событий.

 

Существуют следующие типы событий:

 

ev_create

ev_destroy

ev_step

ev_alarm

ev_keyboard

ev_mouse

ev_collision

ev_other

ev_draw

ev_keypress

ev_keyrelease

 

Для событий мыши можно использовать следующие константы:

 

ev_left_button

ev_right_button

ev_middle_button

ev_no_button

ev_left_press

ev_right_press

ev_middle_press

ev_left_release

ev_right_release

ev_middle_release

ev_mouse_enter

ev_mouse_leave

 

Для событий джойстки можно использовать следующие константы:

 

ev_joystick1_left

ev_joystick1_right

ev_joystick1_up

ev_joystick1_down

ev_joystick1_button1

ev_joystick1_button2

ev_joystick1_button3

ev_joystick1_button4

ev_joystick1_button5

ev_joystick1_button6

ev_joystick1_button7

ev_joystick1_button8

ev_joystick2_left

ev_joystick2_right

ev_joystick2_up

ev_joystick2_down

ev_joystick2_button1

ev_joystick2_button2

ev_joystick2_button3

ev_joystick2_button4

ev_joystick2_button5

ev_joystick2_button6

ev_joystick2_button7

ev_joystick2_button8

 

Для других событий используйте следующие константы:

 

ev_outside

ev_boundary

ev_game_start

ev_game_end

ev_room_start

ev_room_end

ev_no_more_lives

ev_no_more_health

ev_animation_end

ev_end_of_path

ev_user0

ev_user1

ev_user2

ev_user3

ev_user4

ev_user5

ev_user6

ev_user7

 

Для события шага используйте следующие константы:

 

ev_step_normal

ev_step_begin

ev_step_end

 

2.5.2. Константы.

 

event_type - Константа (string), тип события, начавшего выполняться.

event_number - Константа (real), номер события, начавшего выполняться.

event_object - Константа (string), индекс объекта, в котором выполняется текущее событие.

event_action - Константа (string), индекс действия, которое в данный момент выполняется (0 - первое в событии и т.д.).

 

2.5.3. Процедуры.

 

event_perform(type,numb) - Процедура, выполняет событие  numb, указанного типа type для текущего образца объекта.

event_perform_object(obj,type,numb) - Процедура, позволяет назначить для текущего объекта событие numb типа type, указанные в объекте obj. События будут исполнены для текущего, а не для указанного объекта obj.

event_user(numb) - Процедура, вызывающая событие, определенное пользователем. Numb - число от 0 до 7.

event_inherited() - Процедура, выполняет действия для происходящего события текущего объекта, определенные в аналогичном событии родительского объекта по отношению к текущему. Если текущий объект не имеет родительского, то действия выполняться не будут.

 

2.6. Дополнительные переменные и функции (Miscellaneous variables and functions)

 

2.6.1. Переменные.

 

error_occurred - Переменная (boolean), отражающая, произошла ли ошибка.

error_last - Переменная (string), содержит последнее сообщение об ошибке

 

2.6.2. Процедуры и функции.

 

show_debug_message(str) - Процедура, показывает строку str в режиме дебаггера.

variable_global_exists(name) - Функция (boolean), отражает, существует ли глобальная перменная name.

variable_local_exists(name) - Функция (boolean), отражает, существует ли локальная переменная name.

variable_global_get(name) - Функция (string или real), возвращает значение глобальной переменной name.

variable_local_get(name) - Функция (string или real), возвращает значение локальной переменной name.

variable_global_set(name,value) - Процедура, устанавливает значение value для глобальной переменной name.

variable_local_set(name,value) - Процедура, устанавливает значение value для локальной переменной name.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Взаимодействие с пользователем.

 

3.1. Работа с мышью.

 

3.1.1. Идентификаторы клавишь мыши.

 

mb_none

mb_any

mb_left

mb_middle

mb_right

 

3.1.2. Переменные и константы.

 

mouse_x - Константа (real), содержит координату курсора по оси OX.

mouse_y - Константа (real), содержит координату курсора по оси OY.

mouse_button - Переменная (real), содержит идентификатор текущей нажатой клавиши мыши.

 

3.1.3. Функции и процедуры.

 

mouse_check_button(numb) - Функция (boolean), определяет нажата ли в данный момент клаиша мыши с индексом numb.

mouse_clear(button) - Процедура, очищает состояние клавиши мыши с индексом button.

io_clear() - Процедура, очищает состояние всех клавиш клавиатуры и мыши.

io_handle() - Процедура, считывает текущее состояние клавиатуры и мыши независимо от событий клавиатуры и мыши.

mouse_wait() - Процедура, ждет нажатия любой клавиши мыши.

 

3.2. Работа с клавиатурой.

 

3.2.1. Идентификаторы клавишь клавиатуры.

 

vk_lshift

vk_lcontrol

vk_lalt

vk_rshift

vk_rcontrol

vk_ralt

vk_nokey

vk_anykey

vk_left

vk_right

vk_up

vk_down

vk_enter

vk_escape

vk_space

vk_shift

vk_control

vk_alt

vk_backspace

vk_tab

vk_home

vk_end

vk_delete

vk_insert

vk_pageup

vk_pagedown

vk_pause

vk_printscreen

vk_f1 … vk_f12

vk_numpad0 … vk_numpad9

vk_multiply

vk_divide

vk_add

vk_subtract

vk_decimal

 

Для буквенных клавишь используйте функцию ord(), с параметром, заданным заглавной буквой, напрмиер ord("A").

 

3.2.2. Переменные и константы.

 

keyboard_lastkey - Переменная (real), содержит идентификатор последней нажатой клавиши на клавиатуре.

keyboard_key - Переменная (real), содержит идентификатор нажатой текущей клавиши на клавиатуре.

keyboard_lastchar - Переменная (string), содержит символ соответсвенно нажатой символьной клавиши.

keyboard_string - Переменная (string), содержит до 80 символов в той последовательности, в которой они набирались на клавиатуре. Поодерживает нажатие BackSpace, которое стирае последний символ.

 

3.2.3. Функции и процедуры.

 

keyboard_set_map(key1,key2) - Процедура, назначает клавише с кодом key1 код key2.

keyboard_get_map(key) - Функция (string), возвращает текущий код, назначенный клавише с кодом key.

keyboard_unset_map() - Процедура, сбрасывает все установки кодов в значения по умолчанию.

 

keyboard_check(key) - Функция (boolean), определяет, нажата ли в данный момент клавиша с кодом key.

keyboard_check_direct(key) - Функция (boolean), определяет на аппаратном уровне нажата ли в данный момент клавиша с кодом key. Это значит, что функция будет работать независимо от того, является ли окно игры активным или нет. С помощью этой функции вы можете различать следующие дублирующиеся клавиши (Не работает под Windows 95).

keyboard_get_numlock() - Функция (boolean), определяет, включена ли клавиша Num Lock.

keyboard_set_numlock(on) - Процедура, устанавливает Num Lock в значение включено (on = true) или в значение выключено (on = false). Не работает в Windows 95.

keyboard_key_press(key) - Процедура, симулирует нажатие клавиши с индексом key.

keyboard_key_release(key) - Процедура, симулирует отпускание клавиши с индексом key.

keyboard_clear(key) - Процедура, очищает состояние клавиши с индексом key.

io_clear() - Процедура, очищает состояние всех клавиш клавиатуры и мыши.

io_handle() - Процедура, считывает текущее состояние клавиатуры и мыши независимо от событий клавиатуры и мыши.

keyboard_wait() - Процедура, ждет нажатия любой клавиши на клавиатуре.

 

3.3. Поддержка джойстика (Joystick support)

 

3.3.1. Функции.

 

joystick_exists(id) - Функция (boolean), определяет, существует ли джойстик с указанным id (id может равняться 1 или 2).

joystick_name(id) - Функция (real), возвращает имя джойстика с указанным id (id может равняться 1 или 2).

joystick_axes(id) - Функция (real), возвращает количество осей у джойстика с указанным id (id может равняться 1 или 2).

joystick_buttons(id) - Функция (real), возвращает количество кнопок у джойстика с указанным id (id может равняться 1 или 2).

joystick_has_pov(id) - Функция (boolean), определяет, поддерживает ли джойстик технологию point-of-view.

joystick_direction(id) - Функция (string), возвращает клавиатурный код (vk_numpad1 to vk_numpad9), который соответствует текущему направлению, указанному на джойстике с указанным id (id может равняться 1 или 2).

joystick_check_button(id,numb) - Функция (boolean), определяет, нажата ли клавиша джойстика numb (numb прнадлежит числовому прммежутку от 1 до 32) с указанным id (id может равняться 1 или 2).

joystick_xpos(id) - Функция (real), возвращает текущую позицию джойстика с указанным id (id может равняться 1 или 2) по оси X. Возвращаемое значение принадлежит числовому промежутку от -1 до 1.

joystick_ypos(id) - Функция (real), возвращает текущую позицию джойстика с указанным id (id может равняться 1 или 2) по оси Y. Возвращаемое значение принадлежит числовому промежутку от -1 до 1.

joystick_zpos(id) - Функция (real), возвращает текущую позицию джойстика с указанным id (id может равняться 1 или 2) по оси Z. Возвращаемое значение принадлежит числовому промежутку от -1 до 1.

joystick_rpos(id) - Функция (real), возвращает текущую позицию джойстика с указанным id (id может равняться 1 или 2) по оси R (четвертое измерение). Возвращаемое значение принадлежит числовому промежутку от -1 до 1.

joystick_upos(id) - Функция (real), возвращает текущую позицию джойстика с указанным id (id может равняться 1 или 2) по оси U (пятое измерение). Возвращаемое значение принадлежит числовому промежутку от -1 до 1.

joystick_vpos(id) - Функция (real), возвращает текущую позицию джойстика с указанным id (id может равняться 1 или 2) по оси V (шестое измерение). Возвращаемое значение принадлежит числовому промежутку от -1 до 1.

joystick_pov(id) - Функция (real), определяет текущее направление джойстика, поддерживающего технологию point-of view в градусах (0 - вперед, 90 - направо, 180 - назад, 270 - налево). Если джойстик не поддерживает упомянутую технологию, функция возвращает значение -1.

4. Игровая графика (Game graphics).

 

4.1. Окно и курсор (Window and cursor)

 

4.1.1. Идентификаторы курсора:

 

cr_default

cr_none

cr_arrrow

cr_cross

cr_beam

cr_size_nesw

cr_size_ns

cr_size_nwse

cr_size_we

cr_uparrow

cr_hourglass

cr_drag

cr_nodrop

cr_hsplit

cr_vsplit

cr_multidrag

cr_sqlwait

cr_no

cr_appstart

cr_help

cr_handpoint

cr_size_all

 

4.1.2. Переменные и константы.

 

full_screen - Переменная (boolean), определяет запускать игру в полноэкранном режиме (true) или в окне (false).

scale_window - Переменная (real), содержит процент масштабирования в оконном режиме. Значение 100 означает, что масштабирование не производится.

scale_full - Переменная (real), содержит процент масштабирования в полноэкранном режиме. Значение 100 означает, что масштабирование не производится. Значение 0 показывает, что будет произведено максимально возможное масштабирование.

show_cursor - Переменная (boolean), определяющая, показывать курсор (true) или нет (false).

monitor_width - Константа (real), содержит текущую ширину монитора (в пикселях).

monitor_height - Константа (real), содержит текущую высоту монитора (в пикселях).

window_left - Переменная (real), содержит координату окна игры на экране по оси X. Не работает в полноэкранном режиме.

window_top - Переменная (real), содержит координату окна игры на экране по оси Y. Не работает в полноэкранном режиме.

window_width - Константа (real), содержит ширину окна игры (в пикселях).

window_height - Константа (real), содержит высоту окна игры (в пикселях).

window_client_left - Константа (real), содержит координату левого края клиентского окна на экране.

window_client_top - Константа (real), содержит координату верхнего края клиентского окна на экране.

window_client_width - Константа (real), содержит ширину клиентского окна.

window_client_height - Константа (real), содержит высоту клиентского окна.

 

4.1.3. Процедуры.

 

set_graphics_mode(exclusive,horres,coldepth,freq,fullscreen,winscale,fullscale) - Процедура, устанавливает графический режим во время работы игры. Аргумент exclusive (boolean) показывает использовать специальный режим (true) или нет (false). Аргумент horres (real) содержит горизонтальную развертку экрана в пикселях (Использовать можно только следующие значения: 320, 640, 800, 1024, 1280, 1600. Значение 0 означает, что разрешение отсается прежним. Размер вертикальной развертки определяется автоматически.). Аргумент coldepth (real) содержит глубину используемого цвета (Использовать можно только следующие значения: 16, 32.). Аргумент frequency (real) содержит текущую частоту обновления экрана (Использовать можно только следующие значения: 60, 70, 75, 80, 100, 120.). Аргумент fullscreen (boolean) отражает, использовать полноэкранный режим (true) или оконный (false). Аргумент winscale (real) отражает коэффициент масштабирования в оконном режиме (Использовать можно только следующие значения: 0, 1. Значение 1 означает отсутствие масштабирования, значение 0 означает максимально возможное масштабирование.). Аргумент fullscale (real) отражает коэффициент масштабирования в полноэкранном режиме (Значения устанавливаются по аналогии с аргументом winscale.). Доступно только в зарегистрированной версии.

set_cursor(cur) - Процедура, устанавливает курсор с текущим индексом.

 

4.2. Спрайты и изображения (Sprites and images).

 

4.2.1. Переменные и константы.

 

visible - Переменная (boolean), отражает рисовать спрайт для объекта (true) или нет (false).

sprite_index - Переменная (real), содержит имя спрайта для текущего образца объекта.

sprite_width - Константа (real), содержит ширину текущего спрайта образца объекта.

sprite_height - Константа (real), содержит высоту текущего спрайта образца объекта.

sprite_xoffset - Константа (real), содержит точку спрайта по оси OХ, которая взята за начальную.

sprite_yoffset - Константа (real), содержит точку спрайта по оси OY, которая взята за начальную.

image_number - Константа (real), содержит количество кадров у спрайта текущего образца объекта.

image_index - Переменная (real), содержит номер кадра спрайта текущего образца объекта, с которого следует начать поигрывание анимации.

image_single - Переменная (real), содержит номер кадра спрайта текущего образца объекта, который необходимо отрисовать без последующего воспроизведения анимации. Если необходимо заново запустить анимацию, следует присвоить данной переменной значение -1.

image_speed - Переменная (real), содержит скорость воспроизведения анимации для спрайта текущего образца объекта. Значение 1 означает воспроизведение одного кадра в течение одного шага. От 0 до 1 - медленне. Больше 1 - быстрее.

depth - Переменная (real), отражающая текущую глубину отрисовки спрайта текущего образца объекта.

image_xscale - Переменная (real), содержит коэффициент масштабирования спрайта по оси OX.

image_yscale - Переменная (real), содержит коэффициент масштабирования спрайта по оси OY.

image_alpha - Переменная (real) содержит коэффициент прозрачности спрайта. (от 0 до 1).

bbox_left - Константа (real), содержит координату левого края прямоугольника спрайта, который используется для просчета столкновений.

bbox_right - Константа (real), содержит координату правого края прямоугольника спрайта, который используется для просчета столкновений.

bbox_top - Константа (real), содержит координату верхнего края прямоугольника на спрайта, который используется для просчета столкновений.

bbox_bottom - Константа (real), содержит координату нижнего края прямоугольника на спрайта, который используется для просчета столкновений.

 

4.3. Задний фон (Backgrounds)

 

4.3.1. Переменные.

 

background_color - Переменная (string), отражает цвет заднего фона для текущей комнаты.

background_showcolor - Переменная (boolean), отражает заполнять задний фон указанным цветом (true) или нет (false).

background_visible[0..7] - Массив переменных (boolean), отражает какой задний фон (из 8 возможных) в текущий момент отображается.

background_foreground[0..7] - Массив переменных (boolean), показывает, использовать ли задний фон в качестве переднего (true) или нет (false).

background_index[0..7] - Массив переменных (string), отражает имя (одного из 8 возможных) используемого заднего фона.

background_x[0..7] - Массив переменных (real), отражает позицию изображения, используемого в качестве заднего фона по оси OX.

background_y[0..7] - Массив переменных (real), отражает позицию изображения, используемого в качестве заднего фона по оси OY.

background_width[0..7] - Массив переменных (real), содержит ширину изображения, использующейся в качестве заднего фона.

background_height[0..7] - Массив переменных (real), содержит высоту изображения, использующейся в качестве заднего фона.

background_htiled[0..7] - Массив переменных (boolean), заполняет задний фон по горизонтали используемым в качестве оного изображением.

background_vtiled[0..7] - Массив переменных (boolean), заполняет задний фон по вертикали используемым в качестве оного изображением.

background_hspeed[0..7] - Массив переменных (real), содержит скорость горизонтальной прокрутки заднего фона (в пикселях за шаг).

background_vspeed[0..7] - Массив переменных (real), содержит скорость вертикальной прокрутки заднего фона (в пикселях за шаг).

background_alpha[0..7] - Массив переменных (real), содержит коэффициент прозрачности, используемый для текущего заднего фона.

 

4.4. Тайлы (Tiles)

 

4.4.1. Переменнные и константы.

 

background - Переменная (string), содержит имя ресурса их которого берется тайл.

left - Переменная (real), содержит координату верхнего левого угла тайла по оси X в ресурсе, из которого берется тайл.

top - Переменная (real), содержит координату верхнего левого угла тайла по оси Y в ресурсе, из которого берется тайл.

width - Переменная (real), содержит ширину тайла в ресурсе, из которого берется тайл.

height - Переменная (real), содержит высоту тайла в ресурсе, из которого берется тайл.

x - Переменная (real), содержит координату левого верхнего угла тайла по оси X в комнате.

y - Переменная (real), содержит координату левого верхнего угла тайла по оси Y в комнате.

depth - Переменная (real), содержит глубину отрисовки тайла.

visible - Переменная (boolean), показывает, является тайл видимым (true) или нет (false).

xscale - Переменная (real), содержит коэффициент масштабирования тайла по оси X (по умолчанию - единица).

yscale - Переменная (real), содержит коэффициент масштабирования тайла по оси X (по умолчанию - единица).

alpha - Переменная (real), содержит коэффициент прозрачности для текущего тайла (от 1 до 0).

id - Константа (real), отражает уникальный идентификационный номер текущего тайла.

 

4.4.2. Функции и процедуры.

 

tile_add(background,left,top,width,height,x,y,depth) - Функция (real), добавляет в комнату тайл с указанными значениями. Возвращает id созданного тайла.

tile_delete(id) - Процедура, удаляет тайл с идентификационным номером id.

tile_find(x,y,foreground) - Функция (real), возвращает идентификационный номер id тайла в точке (x,y). Если тайла в указанной точке не существует, возвращается значение -1. Если аргумент foreground имеет значение true, то во внимание принимаются тайлы, имеющие отрицательную глубину depth, в противном случае с неотрицательной глубиной. Если в точке существует несколько тайлов, функция возвращает id первого.

tile_delete_at(x,y,foreground) - Процедура, удаляет тайл в точке с координатами (x,y). Если переменная foreground имеет значение true, то удаляются только тайлы, имеющие отрицательную глубину, в противном случае неотрицательную. Если в точке существует несколько тайлов, удовлетворяющих условию - они все будут удалены.

tile_exists(id) - Функция (boolean), определяет существует ли тайл с указанным идентификационным номером id.

tile_get_x(id) - Функция (real), возвращает координату тайла с указанным идентификационным номером id по оси OХ в текущей комнате.

tile_get_y(id) - Функция (real), возвращает координату тайла с указанным идентификационным номером id по оси OY в текущей комнате.

tile_get_left(id) - Функция (real), возвращает координату левого верхнего угла тайла с идентификационным номером id по оси OХ в файле ресурса.

tile_get_top(id) - Функция (real), возвращает координату левого верхнего угла тайла с идентификационным номером id по оси OY в файле ресурса.

tile_get_width(id) - Функция (real), возвращает ширину тайла с указанным идентификационным номером id.

tile_get_height(id) - Функция (real), возвращает высоту тайла с указанным идентификационным номером id.

tile_get_depth(id) - Функция (real), возвращает глубину depth тайла с указанным идентификационным номером id.

tile_get_visible(id) - Функция (boolean), возвращает, является ли тайл с указанным идентификационным номером id фидимым (true) или нет (false)

tile_get_xscale(id) - Функция (real), возвращает коэффициент масштабирования тайла с указанным идентификационным номером id по оси OX.

tile_get_yscale(id) - Функция (real), возвращает коэффициент масштабирования тайла с указанным идентификационным номером id по оси OY.

tile_get_background(id) - Функция (string), возвращает имя ресурса, из которого берется тайл с указанным дентификационным номером id.

tile_get_alpha(id) - Функция (real), возвращает коэффициент прозрачности тайла с указанным индексом id.

tile_set_position(id,x,y) - Процедура, помещает тайл с уникальным идентификационным номером id в точку с координатами (x,y).

tile_set_region(id,left,top,width,height) - Процедура, устанавливает видимую часть тайла с идентификатором id. Аргументы left и top содержат координаты по осям X и Y соответственно. Аргументы width и height содержат ширину и длину видимой области соответственно.

tile_set_background(id,background) - Процедура, задает имя ресурса, из которого берется тайл с указанным идентификационным номером id.

tile_set_visible(id,visible) - Процедура, устанавливающая, является тайл с уникальным идентификационным номером id видимым или нет.

tile_set_depth(id,depth) - Процедура, устанавливающая глубину depth для тайла с уникальным идентификационным номером id.

tile_set_scale(id,xscale,yscale) - Процедура, устанавливающая коэффициенты масштабирования по осям OX и OY для тайла с уникальным идентификационным номером id.

tile_set_alpha(id,alpha) - Процедура, устанавливает коэффициент прозрачности alpha для тайла с индексом id.

 

4.5. Рисование (Drawing functions)

 

4.5.1. Список доступных цветов.

 

c_aqua

c_black

c_blue

c_dkgray

c_fuchsia

c_gray

c_green

c_lime

c_ltgray

c_maroon

c_navy

c_olive

c_purple

c_red

c_silver

c_teal

c_white

c_yellow

 

4.5.2. Стили кистей.

 

bs_hollow

bs_solid

bs_bdiagonal

bs_fdiagonal

bs_cross

bs_diagcross

bs_horizontal

bs_vertical

 

4.5.3. Доступные стили шрифтов.

 

fs_normal

fs_bold

fs_italic

fs_underline

fs_strikeout

 

4.5.4. Доступные стили выравнивания текста.

 

fa_left

fa_center

fa_right

 

4.5.5. Переменные и константы.

 

brush_color - Переменная (string), содержит текущий цвет.

brush_style - Переменная (string), содержащая текущий стиль кисти.

pen_color - Переменная (string), содержит цвет, которым рисуются фигуры.

pen_size - Переменная (real), содержит ширину рисуемых линий.

font_color - Переменная (string), содержащая цвет используемого шрифта.

font_size - Переменная (real), содержащая размер текущего шрифта.

font_name - Переменная (string), содержащая имя текущего шрифта.

font_style - Переменная (string), содержащая стиль текущего шрифта.

font_angle - Переменная (real), содержащая угол наклона текста.

font_align - Переменная (real), содержащая стиль выравнивания текста.

font_pixels_per_inch - Константа (real), содержит текущее количество пикселей на один дюйм.

 

4.5.6. Процедуры и функции.

 

draw_sprite(n,img,x,y) - Процедура, рисует кадр с номером img (для рисования текущего кадра используйте значение -1) спрайта с индексом n в точке с координатами (x,y).

draw_sprite_ext(n,img,x,y,xscale,yscale,alpha) - Процедура, рисует рисует кадр с номером img (для рисования текущего кадра используйте значение -1) спрайта с индексом n в точке с координатами (x,y), растянутый по оси Х с коэффициентом xscale и по оси Y с коэффициентом yscale. Аргумент alpha отражает степень прозачности рисуемого спрайта (При значении 0 спрайт является полностью прозрачным, при значении 1 - полностью непрозрачным).

draw_sprite_stretched(n,img,x,y,w,h) - Процедура, рисует кадр с номером img (для рисования текущего кадра используйте значение -1) спрайта с индексом n в точке с координатами (x,y) и расягмвающая его до ширины w и высоты h.

draw_sprite_stretched_ext(n,img,x,y,w,h,alpha) - Процедура, рисует кадр с номером img (для рисования текущего кадра используйте значение -1) спрайта с индексом n в точке с координатами (x,y) и расягмвающая его до ширины w и высоты h. Аргумент alpha отражает степень прозрачности спрайта.

draw_sprite_tiled(n,img,x,y) - Процедура, рисует кадр с номером img (для рисования текущего кадра используйте значение -1) спрайта с индексом n в точке с координатами (x,y), а затем заполняет оставшееся место такими же спрайтами.

draw_sprite_tiled_ext(n,img,x,y,xscale,yscale,alpha) - Процедура, рисует кадр с номером img (для рисования текущего кадра используйте значение -1) спрайта с индексом n в точке с координатами (x,y), растянутым с коэффициентом xscale по оси OX и yscale по оси OY. Аргумент alpha отражает степень прозрачности спрайта. Затем функция заполняет оставшееся место такими же спрайтами.

draw_sprite_part(n,img,left,top,right,bottom,x,y) - Процедура, рисует кусок кадра img спрайта с индексом n. Координаты верхнего левого угла области кадрирования задаются координатами (left,top) , правого ниженого - (right,bottom).

draw_sprite_part_ext(n,img,left,top,right,bottom,x,y,xscale,yscale,alpha) - Процедура, рисует кусок кадра img спрайта с индексом n, растянутого по оси OX с коэффициентом xscale и по оси OY с коэффициентом yscale. Аргумент alpha отражает степень прозрачности спрайта. Координаты верхнего левого угла области кадрирования задаются координатами (left,top) , правого ниженого - (right,bottom).

draw_sprite_alpha(n,img,x,y,xscale,yscale,alphaspr,ind) - Процедура, рисует кадр img спрайта n в точке с координатами (x,y). Аргументы xscale и yscale содержат коэффициент масштабирования спрайта по осям X и Y, соответственно. Аргумент alphaspr содержит имя спрайта, который будет использоваться в качестве маски прозрачности для текущего спрайта. Аргумент ind содержит кадр спрайта alphaspr, который будет использован в качестве маски.

draw_sprite_part_alpha(n,img,left,top,right,bottom,x,y,xscale,yscale,alphaspr,ind) - Процедура, рисует часть кадра img спрайта n в точке с координатами (x,y). Аргументы left и top содержат координаты верхнего левого угла рисуемой части по осям OX и OY соответственно. Аргументы right и bottom содержат координаты правого нижнего угла рисуемой части по осям OX и OY соответственно. Аргументы xscale и yscale содержат коэффициент масштабирования спрайта по осям X и Y, соответственно. Аргумент alphaspr содержит имя спрайта, который будет использоваться в качестве маски прозрачности для текущего спрайта. Аргумент ind содержит кадр спрайта alphaspr, который будет использован в качестве маски.

draw_background(n,x,y) - Процедура, рисует задний фон с индексом n в точке с координатами (x,y).

draw_background_ext(n,x,y,xscale,yscale,alpha) - Процедура, рисует задний фон с индексом n в точке с координатами (x,y), растянутый по оси OX с коэффициентом xscale и по оси OY с коэффициентом yscale. Аргумент alpha отражает степень прозрачности фона.

draw_background_stretched(n,x,y,w,h) - Процедура, рисует задний фон с индексом n в точке с координатами (x,y), растянутый до указанной ширины w и высоты h.

draw_background_stretched_ext(n,x,y,w,h,alpha) - Процедура, рисует задний фон с индексом n в точке с координатами (x,y), растянутый до указанной ширины w и высоты h. Аргумент alpha отражает степень прозрачности фона.

draw_background_tiled(n,x,y) - Процедура, рисует задний фон с индексом n начиная в точке с координатами (x,y), а затем замащивает оставшееся свободное пространоство этим же фоном.

draw_background_tiled_ext(n,x,y,xscale,yscale,alpha) - Процедура, рисует задний фон с индексом n начиная в точке с координатами (x,y), а затем замащивает оставшееся свободное пространоство этим же фоном. Аргументы xscale и yscale содержат коэффициенты масштабирования заднего фона по осям OX и OY соответственно. Аргумент alpha содержит коэффициент прозрачности заднего фона.

draw_background_part(n,left,top,right,bottom,x,y) - Процедура, рисует часть заднего фона с индексом n. Аргументы left,top и right,bottom содержат координаты по осям OX и OY соответственно левой верхней  и правой нижней частей заднего фона. Аргументы x и y содержит координаты точки, начиная с которой рисуется задний фон.

draw_background_part_ext(n,left,top,right,bottom,x,y,xscale,yscale,alpha) - Процедура, рисует часть заднего фона с индексом n. Аргументы left,top и right,bottom содержат координаты по осям OX и OY соответственно левой верхней  и правой нижней частей заднего фона. Аргументы x и y содержит координаты точки, начиная с которой рисуется задний фон. Аргументы xscale и yscale содержат коэффициенты масштабирования заднего фона по осям OX и OY соответственно. Аргумент alpha содержит коэффициент прозрачности заднего фона.

draw_background_alpha(n,x,y,xscale,yscale,alphaback) - Процедура, рисует задний фон с индексом n, начиная в точке с координатами (x,y) с коэффициентами масштабирования xsacle и ysacle по осям OX и OY соответственно. Аргумент alphaback содержит индекс заднего фона, который будет использоваться в качестве маски прозрачности.

draw_background_part_alpha(n,left,top,right,bottom,x,y,xscale,yscale,alphaback) - Процедура, рисует часть заднего фона с индексом n, начиная в точке с координатами (x,y) с коэффициентами масштабирования xsacle и ysacle по осям x и y соответственно, заключенного в прямоугольник с координатами лвеого верхнего угла (left,top) и правого нижнего (right,bottom). Аргумент alphaback содержит индекс заднего фона, который будет использоваться в качестве маски прозрачности.

draw_pixel(x,y) - Процедура, рисует пиксель в точке с координатами (x,y) текущего цвета.

draw_getpixel(x,y) - Функция (string), возвращает цвет пикселя в точке с координатами (x,y).

draw_fill(x,y) - Процедура, производит заливку области текущим цветом начиная с точки с координатами (x,y).

draw_line(x1,y1,x2,y2) - Процедура, рисует отрезок, с началом в точке (x1,y1) и концом в точке (x2,y2).

draw_arrow(x1,y1,x2,y2,size) - Процедура, рисует стрелку, с началом в точке (x1,y1) и концом в точке (x2,y2). Аргумент size показывает размер "шапки" в пикселях.

draw_circle(x,y,r) - Процедура, рисует окружность в точке (x,y) заданного радиуса r.

draw_ellipse(x1,y1,x2,y2) - Процедура, рисует эллипс, вписанный в прямоугольник с координатами верхнего левого угла (x1,y1) и правого нижнего (x2,y2).

draw_rectangle(x1,y1,x2,y2) - Процедура, рисует прямоугольник с координатами верхнего левого угла (x1,y1) и правого нижнего (x2,y2).

draw_roundrect(x1,y1,x2,y2) - Процедура, рисует прямоугольник с координатами верхнего левого угла (x1,y1) и правого нижнего (x2,y2) со скругленными углами.

draw_triangle(x1,y1,x2,y2,x3,y3) - Процедура, рисует треугольник с вершинами в точках с координатами (x1,y1), (x2,y2), (x3,y3).

draw_arc(x1,y1,x2,y2,x3,y3,x4,y4) - Процедура, рисует часть эллипса. Эллипс задается двумя точками, которые содержат координаты верхнего левого угла (x1,y1) и правого нижнего (x2,y2) прямоугольника, в который вписывается эллипс. Из центра эллипса проводятся две прямые к точкам (x3,y3) и (x4,y4). Рисуется та часть эллипса, что находится между двумя прямыми, которые остаются невидимыми.

draw_chord(x1,y1,x2,y2,x3,y3,x4,y4) - Процедура, рисует срез эллипса. Эллипс задается двумя точками, которые содержат координаты верхнего левого угла (x1,y1) и правого нижнего (x2,y2) прямоугольника, в который вписывается эллипс. Из центра эллипса проводятся две прямые к точкам (x3,y3) и (x4,y4), которые затем соединяются между собой. Полученная фигура закрашивается текущим цветом кисти.

draw_pie(x1,y1,x2,y2,x3,y3,x4,y4) - Процедура, рисует сектор эллипса. Эллипс задается двумя точками, которые содержат координаты верхнего левого угла (x1,y1) и правого нижнего (x2,y2) прямоугольника, в который вписывается эллипс. Из центра эллипса проводятся две прямые к точкам (x3,y3) и (x4,y4). Полученная фигура закрашивается текущим цветом кисти.

draw_button(x1,y1,x2,y2,up) - Процедура, рисует кнопку. Аргумент up отражает состояние кнопки (0 - нажата, 1 - отжата).

draw_text(x,y,string) - Процедура, рисует текст string начиная от точки с координатами (x,y). (Символ "#" может использоваться для перехода на новую строку).

draw_text_ext(x,y,string,sep,w) - Процедура, рисует текст string начиная от точки с координатами (x,y). (Символ "#" может использоваться для перехода на новую строку). Аргумент sep указывает расстояние между строками (для отрисовки расстояниия, заданного по умолчанию, используйте значение-1). Аргумент w задает ширину выводимого текста. Строки, превышающие еее будут переноситься на следующую строку. При заданном значении -1 перенос осуществляться не будет.

draw_text_sprite(x,y,string,sep,w,sprite,firstchar,scale) - Процедура, рисует текст с помощью спрайтов. Аргументы x и y содержат координату, начиная с которой будет выведен текст. Аргумент string содержит текст, который необходимо вывести (Символ "#" может использоваться для перехода на новую строку).  Аргумент sep указывает расстояние между строками (для отрисовки расстояниия, заданного по умолчанию, используйте значение-1). Аргумент w задает ширину выводимого текста. Строки, превышающие еее будут переноситься на следующую строку. При заданном значении -1 перенос осуществляться не будет. Аргумент sprite содержит имя спрайта, который хранит буквы алфавита в качестве кадров, которые должны быть размещены в том порядке, в каком эти символы хранятся в таблице ASCII-кодов. Аргумент firstchar содержит номер ASCII-символа, с которого начинается отсчет. Аргумент scale содержит коэффициент масштабрования кадров спрайта.

draw_polygon_begin() - Процедура, определяющая, что началась инициализация массива вершин многоугольника.

draw_polygon_vertex(x,y) - Процедура, добавляет точку с координатами (x,y) в качестве следующей вершины многоугольника.

draw_polygon_end() - Процедура, определяющая, что инициализация вершин многоугольника закончилась и полученный многоугольник выводится на экран.

make_color(red,green,blue) - Процедура, создает цвет со значеними красного read, зеленого green и синего blue (от 0 до 255).

push_graphics_settings() - Процедура, сохраняет текущие графические настройки во внешний стек.

pop_graphics_settings() - Процедура, восстанавливающая предыдущие графические настройки, путем извлечения оных их стека.

string_width(string) - Функция (real), возвращающая ширину текста string, написанного текущим шрифтом, стилем, размером и т.д. Используется для текста, нарисованного с помощью функции draw_text().

string_height(string) - Функция (real), возвращающая высоту текста string, написанного текущим шрифтом, стилем, размером и т.д. Используется для текста, нарисованного с помощью функции draw_text().

string_width_ext(string,sep,w) - Функция (real), возвращающая ширину текста, написанного с указанным межстроковым расстоянием sep и шириной w с помощью функции draw_text_ext().

string_height_ext(string,sep,w) - Функция (real), возвращающая высоту текста, написанного с указанным межстроковым расстоянием sep и шириной w с помощью функции draw_text_ext().

screen_gamma(r,g,b) - Процедура, устанавливает яркость экрана, используя значения трех цветов: красного, зеленого и синего, соответственно. (Значения от -1 до 1) Функция работает только в исключительном режиме.

screen_save(fname) - Процедура, делает скриншот экрана и сохраняет его в bmp-файл с указанным именем fnake.

screen_save_part(fname,left,top,right,bottom) - Процедура, сохраняет в bmp-файл c именем fname область экрана, входящую в прямоугольник с координатами верхнего левого угола (left,top) и правого нижнего (right,bottom).

 

4.6. Виды (Views)

 

4.6.1. Переменные и константы.

 

view_enabled - Переменная (boolean), отражает использовать виды (true) или нет (false).

view_current - Константа (real), отражает индекс (число от 0 до 7) текущего вида.

view_visible[0..7] - Массив переменных (boolean), отражает активирован вид с указанным индексом (true) или нет (false).

view_left[0..7] - Массив переменных (real), содержит начальную координату левого края указанного вида по оси OX.

view_top[0..7] - Массив переменных (real), содержит начальную координату верхнего края указанного вида по оси OY.

view_width[0..7] - Массив переменных (real), содержит ширину указанного вида (в пикселях).

view_height[0..7] - Массив переменных (real), содержит высоту указанного вида (в пикселях).

view_x[0..7] - Массив переменных (real), содержит координату левого верхнего угла окна отрисовки вида по оси OX.

view_y[0..7] - Массив переменных (real), содержит координату левого верхнего угла окна отрисовки вида по оси OY.

view_hborder[0..7] - Массив переменных (real), содержит горизонтальный размер границы вокруг видимого объекта (в пикселях).

view_vborder[0..7] - Массив переменных (real), содержит вертикальный размер границы вокруг видимого объекта (в пикселях).

view_hspeed[0..7] - Массив переменных (real), содержит максимальную скорость перемещения вида по горизонтали.

view_vspeed[0..7] - Массив переменных (real), содержит максимальную скорость перемещения вида по вертикали.

view_object[0..7] - Массив переменных (string), содержит имя видимого объекта, за которым будет следовать вид. В качестве аргумента может также передаваться уникальный идентификационный номер id необходимого образца объекта.

screen_width - Переменная (real), содержит ширину поля на экране, в котором мы рисуем. Когда в комнаты виды не используются, она равна room_width.

screen_height - Переменная (real), содержит высоту поля на экране, в котором мы рисуем. Когда в комнаты виды не используются, она равна room_heigth.

 

4.7. Переходы (Transitions)

 

4.7.1. Переменные.

 

transition_kind - Переменная (real), содержит идентификационный номер (может быть от 0 до 17) эффекта перехода между комнатами.

transition_time - Переменная (real), содержит время в миллисекундах, в течение которого происходит отрисовка соответствующего эффекта перехода между комнатами.

transition_steps - Переменная (real), содержит количество шагов, в течение которых происходит отрисовка соответствующего эффекта перехода между комнатами.

 

4.8. Обновление экрана (Repainting the screen)

 

4.8.1. Процедуры.

 

screen_redraw() - Процедура, обновляет экран, выполняя все события рисования заново.

screen_refresh() - Процедура, обновляет экран, не выполняя события рисования.

 

 

 

 

 

 

 

 

5. Звуки и музыка (Sound and music).

 

5.1. Работа со звуком

 

5.1.1. Процедуры и функции.

 

sound_play(index) - Процедура, проигрывает звук с именем index единожды.

sound_loop(index) - Процедура, проигрывает звук с именем index, циклически повторяя его.

sound_stop(index) - Процедура, отсанавливает проигрывание звука с именем index.

sound_stop_all() - Процедура, останавливает проигрывание всех звуков.

sound_isplaying(index) - Функция (boolean), возвращает true, если звук с именем index проигрывается в настоящий момент.

sound_volume(index,value) - Процедура, устанавливает громкость value, проигрываемого звука с именем index. Value принадлежит промежутку от 0 до 1.

sound_pan(index,value) - Процедура, изменяющая для звука index динамик для воспроизведения (value : 0.5 - нормальное звучание на оба канала, 1 - Проигрывание только на правом динамике, 0 - только на левом. У звука index должна быть отмечена опция, разрешающая эффекты).

sound_frequency(index,value) - Процедура, предназначена для изменения скорости value проигрывания звука с индексом index.

 

5.2. Работа с Audio CD

 

5.2.1. Процедуры и функции.

 

cd_init() - Процедура, инициализирующая CD-проигрываетель. Должна вызываться перед непосредственным использованием функций работы с CD-проигрывателем. Кроме того, должна вызываться при смене CD-диска в проигрывателе.

cd_present() - Функция (boolean), возвращает true, если в лотке CD-ROM'а находится диск.

cd_number() - Функция (real), возвращает количество треков музыкального CD, вставленного в CD-ROM.

cd_playing() - Функция (boolean), возвращает true, если музыка с CD в настоящее время проигрывается.

cd_paused() - Функция (boolean), возвращает true, если проигрывание CD в настоящий момент остановлено либо поставлено на паузу.

cd_track() - Функция (real), возвращает номер проигрываемого в настоящее время трека (1 - первый).

cd_length() - Функция (real), возвращает время общего звучания всех треков на CD (в миллисекундах).

cd_track_length(n) - Функция (real), возвращает время звучания трека с номером n в миллисекундах.

cd_position() - Функция (real), возвращает проигрываемую в настоящее время позицию на CD в миллисекундах.

cd_track_position() - Функция (real), возвращает проигрываемую в настоящее время позицию в текущем треке в миллисекундах.

cd_play(first,last) - Процедура, проигрывает треки CD, начиная треком с номером first и заканчивая треком с номером last.

cd_stop() - Процедура, останавливает проигрывание.

cd_pause() - Процедура, ставит проигрывание на паузу.

cd_resume() - Процедура, возобновляет проигрывание трека, поставленного на паузу.

cd_set_position(pos) - Процедура, устанавливает позицию pos проигрывания текущего CD в миллисекундах.

cd_set_track_position(pos) - Процедура, устанавливает позицию pos проигрывания текущего трека в миллисекундах.

cd_open_door() - Процедура, открывает лоток CD-ROM'а.

cd_close_door() - Процедура, закрывает лоток CD-ROM'а.

 

5.3. Работа с MCI-устройством Windows.

 

5.3.1. Процедура.

 

MCI_command(str) - Процедура, осуществляет запуск строки str на выполнение стандартному MCI-устройству Windows.

 

 

 

 

 

 

 

 

 

 

6. Splash screens, highscores, and other pop-ups

 

6.1. Демонстарция ресурсов.

 

6.1.1. Процедуры и функции.

 

show_text(fname,full,backcol,delay) - Процедура, отображает на экране окно сообщения с текстом, взятым из файла txt или rtf (он должен находится в том же каталоге, что и игра) с именем fname. Аргумент full (boolean) отражает показывать сообщение в полноэкранном режиме (true) или нет (false). Аргумент backcol (string) содержит цвет окна сообщения. Аргумент delay (real) содержит время в миллисекундах, по прошествии которого сообщение исчезнет. Для возвращения в игру не ожидая окончания задержки пользователь может кликнуть по любой области игрового окна.

show_image(fname,full,delay) - Процедура, отображает на экране изображение, взятое из файла bmp, jpg или wmf с именем fname (он должен находится в том же каталоге, что и игра). Аргумент full (boolean) отражает показывать изображение в полноэкранном режиме (true) или нет (false). Аргумент delay (real) содержит время в миллисекундах, по прошествии которого изображение исчезнет. Для возвращения в игру не ожидая окончания задержки пользователь может кликнуть по любой области игрового окна.

show_video(fname,full,loop) - Процедура, проигрывает видеофайл avi или mpg с именем fname. Аргумент full (boolean) отражает показывать видеофайл в полноэкранном режиме (true) или нет (false). Аргумент loop (boolean) отражает показывать видео циклически, пока пользователь не кликнет по области экрана (true) или только единожды (false).

show_info() - Процедура, выводит на экран окно с информацией об игре.

load_info(fname) - Процедура, выводит на экран окно с текстом, взятым из rtf файла с именем fname.

show_message(str) - Процедура, выводит на экран диалоговое окно с кнопкой "OK" и текстом, содержащимся в переменной str (string).

show_message_ext(str,but1,but2,but3) - Функция (real), выводит на экран диалоговое окно с текстом str (string) и тремя кнопками, надписи на которых содержатся соответственно в переменных but1, but2 и but3 (string). Если переменная текста для кнопки не содержит текста, то кнопка не будет показана. Если вы хотите назначить "горячую" клавишу для кнопки, используйте сивол "&" перед буквой, которая соответствует выбранной клавише. Функция возвращает номер нажатой кнопки либо 0, если пользователь нажмет Esc.

show_question(str) - Функция (boolean), выводит на экран окно с двумя кнопками "yes" и "no" и вопросом, содержащимся в переменной str (string), возвращает true, если пользователь выбрал "yes", иначе возвращает false.

show_menu(str,def) - Функция (real), выводит на экран всплывающее меню. Аргумент str содержит пункты меню, аргумент def содержит возвращаемое по умолчанию значение. Например, str = 'menu0|menu1|menu2'. Если выбирается первое значение, функция возвращает 0 и т.д. Если не выбрано ни одно из определенный значений, то функция возвращает значение, определенное по умолчанию.

show_menu_pos(x,y,str,def) - Функция (real), выводит на экран всплывающее меню в точке с координанатами (x,y). Аргумент str содержит пункты меню, аргумент def содержит возвращаемое по умолчанию значение. Например, str = 'menu0|menu1|menu2'. Если выбирается первое значение, функция возвращает 0 и т.д. Если не выбрано ни одно из определенный значений, то функция возвращает значение, определенное по умолчанию.

show_error(str,abort) - Процедура, выводит на экран сообщение об ошибке, которое содержится в аргументе str (string). Аргумент abort (boolean) содержит true, если после вывода сообщения необходимо завершить игру.

 

6.2. Запросы значений.

 

6.2.1. Процедуры и функции

 

get_integer(str,def) - Функция (real), запрашивает у пользователся число, которое и возвращает. Аргумент str (string) содержит выводимый при этом текст, а аргумент def (real) содержит значение, установленное по умолчанию.

get_string(str,def) - Функция (string), запрашивает у пользователся строку, которую и возвращает. Аргумент str (string) содержит выводимый при этом текст, а аргумент def (string) содержит значение, установленное по умолчанию.

get_color(defcol) - Функция (string), запрашивает у пользователя цвет. Аргумент defcolor содержит цвет, вовращаемый по умолчанию. Если пользователь нажмет кнопку "Отмена" возвращаемое значение равно -1.

get_open_filename(filter,fname) - Функция (string), запрашивает у пользователя имя открываемого файла с возможностью фильтрации, которое и возвращает. Аргумент fname (string) содержит имя файла, использующееся по умолчанию. Аргумент filter (string) содержит список масок для выборки файлов, разделенные символом "|", т.е. следующего вида: "имя1|маска1|имя2|маска2|…". Маска содержит условие выборки файлов. Напрмиер, маска "bitmaps|*.bmp;*.wmf" позволит пользователю выьрать любой bmp или wmf файл, причем в строке фильтрации будет написано "bitmaps". Если пользователь нажмет кнопку "Отмена", функция вернет пустую строку.

get_directory(dname) - Функция (string), запрашивает у пользователя имя каталога. Аргумент dname (string) содержит имя каталога, заданного по умолчанию. Если пользователь нажмет кнопку "Отмена", функция вернет пустую строку.

get_directory_alt(capt,root) - Функция (string), запрашивает у пользователя имя каталога. Аргумент capt содержит заголовок выводимого диалогового акна, аргумент root содержит имя директории, которое будет использовано в качестве корневой. Далее, начиная от корневой директории строится дерево каталогов. Если root равняется пустой строке, то отражается полное дерево каталогов на диске. Если пользователь нажмет на кнопку "отмена" возвращаетс пустая строка.

 

6.3. Определение внешнего вида всплывающих сообщений.

 

6.3.1. Процедуры.

 

message_background(back) - Процедура, устанавливает изображения для заднего фона сообщений. Аргумент back (string) содержит имя заднего фона, определенного в игре. Если он частично прозрачен, то выводимое окно также будет частично прозрачно (поддерживается только в Windows 2000 и выше).

message_alpha(alpha) - Процедура, устанавливает значение прозрачности для окон. Работает только в Windows 2000 и выше.

message_button(spr) - Процедура, устанавливает спрайт для кнопок, отображаемых на диалоговых окнах. Аргумент spr (string) должен содержать имя спрайта, определенного в игре, который должен состоять из трех кадров. Первый содержит изображение ненажатой кнопки, второй содержит изображение ненажатой кнопки, над которой в данный момент находится курсор, третий содержит изображение нажатой кнопки.

message_text_font(name,size,color,style) - Процедура, устанавливает шрифт с именем name (string), размера size (real), цвета color (string) и стиля style (string) для текста, отображаемого на диалоговых окнах.

message_button_font(name,size,color,style) - Процедура, устанавливает шрифт с именем name (string), размера size (real), цвета color (string) и стиля style (string) для текста, отображаемого на кнопках в диалоговых окнах.

message_input_font(name,size,color,style) - Процедура, устанавливает шрифт с именем name (string), размера size (real), цвета color (string) и стиля style (string) для текста, содержащегося в строке ввода , расположенной на диалоговом окне.

message_mouse_color(col)  - Процедура, устанавливает цвет col (string) текста, отображаемого на кнопках диалоговых окон в тот момент, когда над кнопкой находится курсор.

message_input_color(col) - Процедура, устанавливает цвет col (string) для заднего фона строки ввода, расположенной на диалоговом окне.

message_caption(show,str) - Процедура, устанавливает в качестве заголовка диалогового окна текст, содержащийся в переменной str (string). Аргумент show (boolean) отражает выводить границу окна (true) или нет (false).

message_position(x,y) - Процедура, устанавливает координаты левого верхнего угла отображаемого диалогового окна на экране.

message_size(w,h) - Процедура, устанавливает ширину w (real) и высоту h (real) для выводимого диалогового окна. Если какой-либо из аргументов равен 0, то высота\ширина будет такой, чтобы полностью вместить выводимый текст.

 

6.4. Таблица лучших результатов.

 

6.4.1. Процедуры и функции

 

highscore_show(numb) - Процедура, выводит на экран стандартную таблицу лучших результатов. Аргумент numb (real) отражает текущее количество очков. Если оно может быть внесено в таблицу, то пользователь сможет ввести свое имя. Если оно будет содержать -1, то фукнция просто покажет таблицу лучших результатов.

highscore_show_ext(numb,back,border,col1,col2,name,size) - Процедура, выводит на экран стандартную таблицу лучших результатов. Аргумент numb (real) отражает текущее количество очков. Если оно может быть внесено в таблицу, то пользователь сможет ввести свое имя. Если оно будет содержать -1, то фукнция просто покажет таблицу лучших результатов. Аргумент back (string) содержит имя заднего фона, который следует использовать для таблицы. Аргумент border (boolean) отражает, показывать границу окна таблицы (true) или нет (false). Аргумент col1 (string) содержит цвет, который будет использоваться для новой записи, аргумент col2 (string) содержит увет всех остальных записей. Аргумент name (string) содержит имя шрифта, которое необходимо использовать для списка. Аргумент size (real) содержит размер шрифта, используемого для таблицы.

highscore_clear() - Процедура, очищает таблицу лучших результатов.

highscore_add(str,numb) - Процедура, добавляет запись в таблицу лучших резульаьов. Аргумент str (string) содержит имя игрока, аргумент numb (real) содержит количсетво очков для добавляемой записи.

highscore_add_current() - Процедура, добавляет в таблицу лучших результатов текущее количество очков. У пользователя запрашивается его имя.

highscore_value(place) - Функция (real) возвращает количество очков записи, стоящей в списке  лучших результатов на позиции № place (от 1 до 10)

highscore_name(place) - Функция (real) возвращает имя игрока, стоящего в списке лучших результатов на позиции № place (от 1 до 10).

draw_highscore(x1,y1,x2,y2) - Процедура, рисует таблицу лучших результатов в текущей комнате, вписывая ее в прямоугольник (координаты левого верхнего угла (x1,y1), правого нижнего (x2,y2)), используя текущий шрифт.

 

 

7. Ресурсы (Resources).

 

7.1. Спрайты (Sprites)

 

7.1.1. Процедуры и функции

 

sprite_exists(ind) - Функция (boolean), возвращает true, если спрайт с именем ind существует, в противном случае возвращает false.

sprite_get_name(ind) - Функция (string), возвращает имя спрайта, с указанным индексом ind.

sprite_get_number(ind) - Функия (real), возвращает количество кадров, содержащихся в спрайте с указанным индексом ind.

sprite_get_width(ind) - Функция (real), возвращает ширину спрайта с указанным именем ind.

sprite_get_height(ind) - Функция (real), возвращает высоту спрайта с указанным именем ind.

sprite_get_transparent(ind) - Функция (boolean), возвращает true, если спрайт имеет прозрачный фон.

sprite_get_xoffset(ind) - Функция (real), возвращает начальную координату спрайта ind по оси OX.

sprite_get_yoffset(ind) - Функция (real), возвращает начальную координату спрайта ind по оси OY.

sprite_get_bbox_left(ind) - Функция (real), возвращает координату левого края прямоугольника, рисуемого на спрайте с индексом ind и использующегося впоследствие в качестве маски для столкновений.

sprite_get_bbox_right(ind) - Функция (real), возвращает координату правого края прямоугольника, рисуемого на спрайте с индексом ind и использующегося впоследствие в качестве маски для столкновений.

sprite_get_bbox_top(ind) - Функция (real), возвращает координату верхнего края прямоугольника, рисуемого на спрайте с индексом ind и использующегося впоследствие в качестве маски для столкновений.

sprite_get_bbox_bottom(ind) - Функция (real), возвращает координату нижнего края прямоугольника, рисуемого на спрайте с индексом ind и использующегося впоследствие в качестве маски для столкновений.

sprite_get_bbox_mode(ind) - Функция (real), возвращает тип инициализации прямоугольника, который рисуется на спрайте с индексом ind и используется в качестве маски для столкновений. (0=определяемый автоматически, 1=все изображение, 2=значения, указываемые вручную).

sprite_get_precise(ind) - Функция (boolean), возвращает true, если спрайт с индексом ind использует улучшенную проверку столкновений.

sprite_get_videomem(ind) - Функция (boolean), возвращает true, если спрайт с именем ind использует видеопамять.

sprite_get_loadonuse(ind) - Функция (boolean), возвращает true, если спрайт с именем ind загружен  с параметром "только для использования".

sprite_discard(numb) - Процедура, выгружает спрайт с именем index из видеопамяти в оперативную память.

sprite_restore(numb) - Процедура, загружает спрайт с именем index из оперативной памяти в видеопамять.

discard_all() - Процедура, удаляет из видеопамяти все спрайты, задние фоны и звуки загруженные с параметром "только для использования".

 

7.2. Звуки (Sounds)

 

7.2.1. Процедуры и функции

 

sound_exists(ind) - Функция (boolean), возвращает true, если звук с именем ind существует.

sound_get_name(ind) - Функция (string), возвращает имя звука с указанным индексом ind.

sound_get_kind(ind) - Функция (real), возвращает тип звукового файла с именем ind (0=wave, 1=midi, 2=mp3, 10=неизвестный тип).

sound_get_buffers(ind) - Функция (real), возвращает количество буферов, используемых звуком с именем ind.

sound_get_effect(ind) - Функция (boolean), возвращает true, если для звука с индексом ind разрешено использование спецэффектов.

sound_get_loadonuse(ind) - Функция (real), возвращает true, если звук загружен с параметром "только для использования".

sound_discard(index) - Процедура, выгружает звук с именем index из памяти.

sound_restore(index) - Процедура, загружает звук с именем index в память.

discard_all() - Процедура, удаляет из видеопамяти все спрайты, задние фоны и звуки загруженные с параметром "только для использования".

 

7.3. Задние фоны (Backgrounds)

 

7.3.1. Процедуры и функции

 

background_exists(ind) - Функция (boolean), возвращает true, если задний фон с именем ind существует.

background_get_name(ind) - Функция (string), возвращает имя заднего фона с индексом ind.

background_get_width(ind) - Функция (real), возвращает ширину заднего фона с именем ind.

background_get_height(ind) - Функция (real), возвращает высоту заднего фона с именем ind.

background_get_transparent(ind) - Функция (boolean), возвращает true. если задний фон с именем ind имеет прозрачный фон.

background_get_videomem(ind) - Функция (boolean), возвращает true, если задний фон с именем ind использует видеопамять.

background_get_loadonuse(ind) - Функция (boolean), возвращает true, если задний фон загружен с параметром "только для использования".

background_discard(numb) - Процедуры, выгружает задний фон с именем numb из видеопамяти в оперативную память.

background_restore(numb) - Процедуры, загружает задний фон с именем numb из оперативной памяти в видеопамять.

discard_all() - Процедура, удаляет из видеопамяти все спрайты, задние фоны и звуки загруженные с параметром "только для использования".

 

7.4. Пути (Paths)

 

7.4.1. Функции.

 

path_exists(ind) - Функция (boolean), возвращает true, если путь с именем ind существует.

path_get_name(ind) - Функция (string), возвращает имя пути с индексом ind.

path_get_length(ind) - Функция (real), возвращает длину пути с именем ind.

path_get_kind(ind) - Функция (real), возвращает тип пути с именем ind (0= с углами, 1=сглаженный).

path_get_end(ind) - Функция (real), возвращает тип события, которое происходит, когда объект достигает конца пути с именем ind (0=останавливается, 1=телепортируется к началу пути, 2=движется к началу, 3=движется в обратном направлении, 4=продолжает движение, т.е. когда начало и конец пути совпадают).

 

7.5. Скрипты (Scripts)

 

7.5.1. Функции.

 

script_exists(ind) - Функция (boolean), возвращает true, если скрипт с именем ind существует.

script_get_name(ind) - Функция (string), возвращает имя скрипта с индексом ind.

script_get_text(ind) - Функция (string), возвращает текст скрипта с указанным именем ind.

 

7.6. Дата-файлы (Data Files)

 

7.6.1. Процедуры и функции.

 

datafile_exists(ind) - Функция (boolean), возвращает true, если дата-файл с именем ind существует.

datafile_get_name(ind) - Функция (string), возвращает имя дата-файла с индексом ind.

datafile_get_filename(ind) - Функция (string), возвращает имя файла, загуженного в дата-файл с именем ind.

datafile_export(ind,fname) - Процедура, экспортирует дата-файл с именем ind в файл с именем fname в текущем каталоге.

datafile_discard(ind) - Процедура, выгружает дата-файл с индексом ind из памяти.

 

7.7. Тайм-лайны (Time Lines)

 

7.7.1. Функции.

 

timeline_exists(ind) - Функция (boolean), возвращает true, если тайм-лайн с именем ind существует.

timeline_get_name(ind) - Функция (string), возвращает имя тайм-лайна с индексом ind.

 

7.8. Объекты (Objects)

 

7.8.1. Функции.

 

object_exists(ind) - Функция (boolean), возвращает true, если объект с именем ind существует.

object_get_name(ind) - Функция (string), возвращает имя объекта с индексом ind.

object_get_sprite(ind) - Функция (string), возвращает имя спрайта, назначенного объекту с именем ind по умолчанию.

object_get_solid(ind) - Функция (boolean), возвращает true, если объект с именем ind твердый по умолчанию.

object_get_visible(ind) - Функция (boolean), возвращает true, если объект с именем ind видимый по умолчанию.

object_get_depth(ind) - Функция (real), возвращает глубину объекта с именем ind.

object_get_persistent(ind) - Функция (boolean), возвращает true, если объект с именем ind постоянный.

object_get_mask(ind) - Функция (string), возвращает имя спрайта, использующегося в качестве маски для объекта ind. Если объект не имеет маски, отличной от назначенного спрйта, функция возвращает значение -1.

object_get_parent(ind) - Функция (string), возвращает имя родительского объекта для объекта с именем ind. Если объект не имеет родительского объекта, то возвращается значение -1.

object_is_ancestor(ind1,ind2) - Функция (boolean), возвращает true, если объект с индексом ind 2 является дочерним по отношению к объекту с индексом ind1.

 

7.9. Комнаты (Rooms)

 

7.9.1. Функции.

 

room_exists(ind) - Функция (boolean), возвращает true, если комната с именем ind существует.

room_get_name(ind) - Функция (string), возвращает имя комнаты с индексом ind.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8. Изменение ресурсов (Changing resources)

 

8.1. Спрайты (Sprites)

 

8.1.1. Процедуры и функции.

 

sprite_set_transparent(ind,transp) - Процедура, устанавливает прозрачный фон для спрайта с именем ind, если аргумент transp = true, либо убирает его, если аргумент transp = false.

sprite_set_offset(ind,xoff,yoff) - Процедура, устанавливает начальную точку спрайта с индексом ind в точке с координатами (xoff,yoff).

sprite_set_bbox_mode(ind,mode) - Процедура, устанавливает режим mode определения прямоугольника, использующегося для просчета столкновений спрайта ind. (0=автоматический режим, 1=все изображение, 2=координаты устанавливаются вручную).

sprite_set_bbox(ind,left,top,right,bottom) - Процедура, определяет месторасположение на спрайте ind прямоугольника (левый верхний угол с координатами (left,top), правый нижний - (right,bottom)), использующегося для просчета столкновений. Функция может быть использована только после функции sprite_set_bbox_mode() при условии, что режим прямоугольника определен, как задаваемый вручную.

sprite_set_precise(ind,mode) - Процедура, устанавливает улучшенную проверку для событий столкновений спрайта с именем ind, если аргумент mode = true, в противном случае устанавливается обычная проверка.

sprite_set_videomem(ind,mode) - Процедура, определяет, использует спрайт с именем ind видеопамять (в этом случае mode = true) или нет (mode = false).

sprite_set_loadonuse(ind,mode) - Процедура, определяет, загружен ли спрайт с именем ind только для использования (mode = true) или нет (mode = false).

sprite_duplicate(ind) - Функция (string), создает дубликат спрайта с именем ind. Возвращает имя созданного спрайта. Если происходит ошибка возвращается значение -1.

sprite_merge(ind1,ind2) - Процедура, объединяет спрайт с именем ind1 со спрайтос с именем ind2. Если их размеры не совпадают, то они масштабируются так, чтобы размеры стали одинаковыми.

sprite_add(fname,imgnumb,precise,transparent,videomem,loadonuse,xorig,yorig) - Функция (real), загружает в игре новый спрайт из bmp, gif или jpg файла с именем fname. Если bmp или jpg файл содержит несколько кадров (т.е. является стрип-архивом), то в данном случае используется аргумент imgnumb, в котором следует указать количество кадров. При работе с gif-файлами этот аргумент не используется, поскольку в таком случае количество кадров берется непосредственно из gif-файла. Если спрайт содержит только один кадр, спользуйте значение 1. Аргумент precise отражает использовать для спрайта улучшенную модель просчета столкновений (true) или нет (false). Аргумент transparent устанавливает для создаваемого спрайта прозрачный фон (true), либо непрозрачный фон (false). Аргумент videomem отражает, загружать спрайт непосредственно в видеопамять (true) или в оперативную память (false). Аргумент loadonuse отражает, загружать спрайт с параметром "загрузить только для использования" (true) или нет (false). Аргументы xorig и yorig отражают координату начальной точки спрайта. Функция возвращает имя нового спрайта. Если возникает ошибка, функция возвращает значение -1.

sprite_replace(ind,fname,imgnumb,precise,transparent,videomem,loadonuse,xorig,yorig) - Функция (real), заменяет спрайт с именем ind на спрайт, который берется из bmp, gif или jpg файла с именем fname. Если bmp или jpg файл содержит несколько кадров (т.е. является стрип-архивом), то в данном случае используется аргумент imgnumb, в котором следует указать количество кадров. При работе с gif-файлами этот аргумент не используется, поскольку в таком случае количество кадров берется непосредственно из gif-файла. Если спрайт содержит только один кадр, спользуйте значение 1. Аргумент precise отражает использовать для спрайта улучшенную модель просчета столкновений (true) или нет (false). Аргумент transparent устанавливает для создаваемого спрайта прозрачный фон (true), либо непрозрачный фон (false). Аргумент videomem отражает, загружать спрайт непосредственно в видеопамять (true) или в оперативную память (false). Аргумент loadonuse отражает, загружать спрайт с параметром "загрузить только для использования" (true) или нет (false). Аргументы xorig и yorig отражают координату начальной точки спрайта. Функция возвращает имя нового спрайта. Если возникает ошибка, функция возвращает значение -1.

sprite_create_from_screen(left,top,right,bottom,precise,transparent,videomem,loadonuse,xorig,yorig) - Функция (real), создает спрайт из содержимого прямоугольника (левый верхний угол с координаатми (left,top), нижний правый - (right,bottom)), который создается в текущей комнате. Аргумент precise отражает использовать для спрайта улучшенную модель просчета столкновений (true) или нет (false). Аргумент transparent устанавливает для создаваемого спрайта прозрачный фон (true), либо непрозрачный фон (false). Аргумент videomem отражает, загружать спрайт непосредственно в видеопамять (true) или в оперативную память (false). Аргумент loadonuse отражает, загружать спрайт с параметром "загрузить только для использования" (true) или нет (false). Аргументы xorig и yorig отражают координату начальной точки спрайта. Функция возвращает имя нового спрайта. Если возникает ошибка, функция возвращает значение -1.

sprite_delete(ind) - Процедура, удаляет спрайт с именем ind из оперативной памяти.

sprite_mirror(ind) - Процедура, отражает спрайт с именем ind по горизонтали.

sprite_flip(ind) - Процедура, отражает спрайт с именем ind по вертикали.

sprite_shift(ind,x,y) - Процедура, сдвигает кадр(ы) спрайта ind на заданный вектор.

sprite_rotate180(ind) - Процедура,, поворачивает спрайт с именем ind на 180 градусов.

sprite_rotate90(ind,clockwise,resize) - Процедура, поворачивает спрайт с именем ind на 90 градусов. Аргумент clockwise определяет поворачивать спрайт против часовой стрелки (true) или в обратном направлении (false). Аргумент resize отражает, изменить ли размер спрайта таким образом, чтобы изображение не осталось обрезанным (true) или нет (false).

sprite_rotate(ind,angle,quality) - Процедура, поворачивает спрайт с именем ind на angle градусов против часовой стрелки. Аргумент quality (может быть от 1 до 9) отражает качество получаемого изображения.

sprite_resize(ind,w,h,corner) - Процедура, изменяет размер границ спрайта с именем ind (при этом сам спрайт не масштабируется!!!) в соответствии с аргументами w и h, содержащими, соответственно, ширину и высоту нового спрайта. Аргумент corner (от 1 до 9) показывает, в каком месте выходного спрайта должно остаться оригинальное изображение (в соответствии с расположением клавишь на цифровом отделении клавиатуры).

sprite_stretch(ind,w,h,quality) - Процедура, изменяет размер границ спрайта с именем ind, одновременно масштабируя его  в соответствии с аргументами w и h, содержащими, соответственно, ширину и высоту нового спрайта. Аргумент quality (может быть от 1 до 9) отражает качество получаемого изображения.

sprite_scale(ind,xscale,yscale,quality,corner,resize) - Процедура, производит масштабирование спрайта с именем ind с коэффициентами xscale по горизонтали и yscale по вертикали. Аргумент quality (может быть от 1 до 9) отражает качество получаемого изображения. Аргумент resize показывает, масштабировать изображение (true) или нет (false). Аргумент corner (от 1 до 9) показывает, в каком месте выходного спрайта должно остаться оригинальное изображение (в соответствии с расположением клавишь на цифровом отделении клавиатуры) в том случае, если изображение спрайта не масштабируется.

sprite_black_white(ind) - Процедура, переводит спрайт с именем ind в черно-белый цвет.

sprite_set_hue(ind,amount) - Процедура, изменяет тон (окраску) спрайта ind. Аргумент amout содержит цвет окраски (от 0 до 255).

sprite_change_value(ind,amount) - Процедура, устанавливает яркость спрайта ind. Аргумент amount содержит устанавливаемое значение (от 0 до 255).

sprite_change_saturation(ind,amount) - Процедура, устанавливает контрастность для спрайта ind. Аргумент amount определяет значение контрастности (от 0 до 255).

sprite_fade(ind,col,amount) - Процедура, окрашивает спрайт ind цветом col (аргумент col представлен в виде rgb-цвета) с непрозрачностью, равной amout (от 0 до 255).

sprite_screendoor(ind,amount) - Процедура, устанавливает спрайту ind псевдопрозрачность. Аргумент amount содержит значение прозрачности (от 0 до 255).

sprite_blur(ind,amount) - Процедура, производит размытие спрайта с индексом ind с коэффициентом amount (от 1 до 9).

 

8.2. Звуки (Sounds)

 

8.2.1. Процедуры и функции.

 

sound_add(fname,buffers,effects,loadonuse) - Функция (real), добавляет в игру из  файла с именем fname. Аругмент buffers отражает количество буферов, выделяемое под создаваемый звук. Аргумент effects отражает, разрешено ли использовать эффекты для звука (true) или нет (false). Аргумент loadonuse отражает загружать звук с параметром "загружать для использования" (true) или нет (false). Функция возвращает имя нового звука. Если в процессе создания проихойдет ошибка, функция вернет значение -1.

sound_replace(index,fname,buffers,effects,loadonuse) - Функция (boolean), заменяет звук с индексом ind на звук, взятый из файла с именем fname. Аругмент buffers отражает количество буферов, выделяемое под создаваемый звук. Аргумент effects отражает, разрешено ли использовать эффекты для звука (true) или нет (false). Аргумент loadonuse отражает загружать звук с параметром "загружать для использования" (true) или нет (false).correct. Функция возвращает true, если ошибок  процессе замены не произошло.

sound_delete(index) - Процедура, удаляет звук с именем index из памяти.

 

8.3. Задние фоны (Backgrounds)

 

8.3.1. Процедуры и функции.

 

background_set_transparent(ind,transp) - Процедура, определяет, использует задний фон с индексом ind прозрачность (transp = true) или нет.

background_set_videomem(ind,mode) - Процедура, определяет, использует задний фон с индексом ind вилеопамять (mode = true) или нет.

background_set_loadonuse(ind,mode) - Процедура, определяет, загружен ли задний с именем ind только для использования (mode = true) или нет (mode = false).

background_duplicate(ind) - Функция (real), создает копию заднего фона с индексом ind. Возвращает имя созданного заднего фона. Если в процессе создания происходит ошибка, функция вернет значение -1.

background_add(fname,transparent,videomem,loadonuse) - Функция (real), добавляет в игру задний фон из файла с именем fname. Аргумент transparent устанавливает, использовать прозрачный фон или нет. Аргумент videomem определяет, использует задний фон видеопамять или нет. Аргумент определяет, загружен ли задний фон только для использования или нет. Возвращает имя созданного заднего фона. Если в процессе создания происходит ошибка, функция вернет значение -1.

background_replace(ind,fname,transparent,videomem,loadonuse)  - Функция (real), заменяет в игре  задний фон с индексом ind изображением, взятым из файла с именем fname. Аргумент transparent устанавливает, использовать прозрачный фон или нет. Аргумент videomem определяет, использует задний фон видеопамять или нет. Аргумент определяет, загружен ли задний фон только для использования или нет. Если в процессе создания происходит ошибка, функция вернет значение false.

background_create_from_screen(left,top,right,bottom,transparent,videomem,loadonuse) - Функция (real), сохраняет в качестве заднего фона область экрана, ограниченную прямоугольником (координата левого верхнего угла - (left,top), правого нижнего - (right,bottom)). Аргумент transparent устанавливает, использовать прозрачный фон или нет. Аргумент videomem определяет, использует задний фон видеопамять или нет. Аргумент определяет, загружен ли задний фон только для использования или нет. Функция возвращает имя созданного заднего фона. Если в процессе создания происходит ошибка, функция вернет значение -1.

background_delete(ind) - Процедура, удаляет из игры задний фон с индексом ind.

background_mirror(ind) - Процедура, отражает задний фон с индексом ind по горизонтали.

background_flip(ind) - Процедура, отражает задний фон с индексом ind по вертикали.

background_shift(ind,x,y) - Процедура, сдвигает изображение заднего фона с индексом ind на заданный вектор.

background_rotate180(ind) - Процедура, поворачивает задний фон с индексом ind на 180 градусов.

background_rotate90(ind,clockwise,resize) - Процедура, поворачивает задний фон с индексом ind на 90 градусов. Аргумент clockwise определяет, поворачивать по или против часовой стрелки. Аргумент resize отражает, изменить ли размер заднего фона таким образом, чтобы он весь входил в полученное изображение.

background_rotate(ind,angle,quality) - Процедура, поворачивает задний фон с индексом ind на угол angle (в градусах) против часовой стрелки. Аргумент quality содержит качество получаемого изображения (от 1 до 9).

background_resize(ind,w,h,corner) - Процедура, изменяет размер границы спрайта с индексом ind. Аргументы w и h соответственно отражают новые ширину и высоту. Аргумент corner (от 1 до 9) показывает, в каком месте выходного спрайта должно остаться оригинальное изображение (в соответствии с расположением клавишь на цифровом отделении клавиатуры).

background_stretch(ind,w,h,quality) - Процедура, масштабирует спрайт с именем ind до указанной ширины w и высоты h. Аргумент quality содержит качество получаемого спрайта (от 1 до 9).

background_scale(ind,xscale,yscale,quality,corner,resize) - Процедура, масштабирует спрайт с индексом ind с коэффициентами xscale по оси X и yscale по оси Y. Аргумент quality содержит качество получаемого изображения (от 1 до 9). Аргумент corner (от 1 до 9) показывает, в каком месте выходного спрайта должно остаться оригинальное изображение (в соответствии с расположением клавишь на цифровом отделении клавиатуры). Аргумент resize отражает, изменить ли размер заднего фона таким образом, чтобы он весь входил в полученное изображение.

background_black_white(ind) - Процедура, переводит задний фон с индексом ind в черно-белый цвет.

background_set_hue(ind,amount) - Процедура, изменяет тон (окраску) заднего фона ind. Аргумент amout содержит цвет окраски (от 0 до 255).

background_change_value(ind,amount) - Процедура, устанавливает яркость заднего фона ind. Аргумент amount содержит устанавливаемое значение (от 0 до 255).

background_change_saturation(ind,amount) - Процедура, устанавливает контрастность для заднего фона ind. Аргумент amount определяет значение контрастности (от 0 до 255).

background_fade(ind,col,amount) - Процедура, окрашивает задний фон ind цветом col (аргумент col представлен в виде rgb-цвета) с непрозрачностью, равной amout (от 0 до 255).

background_screendoor(ind,amount) - Процедура, устанавливает заднему фону ind псевдопрозрачность. Аргумент amount содержит значение прозрачности (от 0 до 255).

background_blur(ind,amount) - Процедура, производит размытие заднего фона с индексом ind с коэффициентом amount (от 1 до 9).

 

8.4. Пути (Paths)

 

8.4.1. Процедуры и функции.

 

path_set_kind(ind,val) - Процедура, устанавливает тип val соединения точек пути с именем ind. (0=прямое, 1=сглаженное).

path_set_end(ind,val) - Процедура, устанавливает событие val, которое происходит, когда объект достигает конца пути с именем ind. (0=остановиться, 1=телепортироваться к началу пути, 2=двигаться к началу пути, 3=двигаться в обратном направлении, 4=продолжать движение).

path_add() - Функция (real) добавляет новый путь. Функция возвращает индекс созданного пути.

path_delete(ind) - Процедура, удаляет путь с индексом ind.

path_add_point(ind,x,y,speed) - Процедура, добавляет точку в путь с именем ind в точке с координатами (x,y) с указанной скоростью speed.

path_clear_points(ind) - Процедура, удаляет все точки у путя с именем ind.

 

8.5. Скрипты (Scripts)

 

8.5.1. Процедуры.

 

execute_string(str) - Процедура, запускает на выполнение блок кода, записанный в строку str.

execute_file(fname) - Процедура, запускает на выполнение блок кода, записанный в файл с именем fname.

script_execute(scr,arg0,arg1,…) - Процедура, запускает на выполнение скрипт с именем scr и аргументами arg0, arg1, ...

 

8.6. Тайм-лайны (Time Lines)

 

8.6.1. Процедуры и функции.

 

timeline_add() - Функция (real), добавляет новый тайм-лайн. Функция возвращает имя созданного тайм-лайна.

timeline_delete(ind) - Процедура, удаляет тайм-лайн с индексом ind.

timeline_moment_add(ind,step,codestr) - Процедура, добавляет в тайм-лайн с именем ind, событие, происходящее на шаге за номером step. Выполняемые при этом действия должны быть записаны в аргумент codestr.

timeline_moment_clear(ind,step) - Процедура, очищает событие, происходящее на шаге за номером step тайм-лайна с именем ind.

 

8.7. Объекты (Objects)

 

8.7.1. Процедуры и функции.

 

object_set_sprite(ind,spr) - Процедура, устанавливает для объект с индексом ind спрайт с именем spr (если spr = -1, то текущий спрайт удаляется из свойств объекта)

object_set_solid(ind,solid) - Процедура, устанавливает объекту с индексом ind твердость если аргумент solid равняется true.

object_set_visible(ind,vis) - Процедура, устанавливает, является ли объект с именем ind видимым (vis = true) или нет (vis = false).

object_set_depth(ind,depth) - Процедура, устанавливает глубину depth для объекта с индексом ind.

object_set_persistent(ind,pers) - Процедура, устанавливает, является ли объект с именем ind постоянным (pers = true) или нет (pers = false).

object_set_mask(ind,spr) - Процедура, устанавливает в качестсве маски спрайт с индексом spr для объекта с именем ind. Если spr равняется -1, то в качестве маски устанавливается текущий спрайт объекта.

object_set_parent(ind,obj) - Процедура, устанавливает в качестве родительского объекта для объекта с именем ind, объект с именем obj. Если obj равняется -1, то объект ind не будет содержать родительского объекта.

object_add() - Функция (real), создает новый объект. Возвращает индекс созданного объекта.

object_delete(ind) - Процедура, удаляет объект с индексом ind.

object_event_add(ind,evtype,evnumb,codestr) - Процедура, добавляет в объект с именем ind событие типа evtype за номером evnumb. Аргумент codestr содержит блок кода, который необходимо выполнить при активации соответствующего события.

object_event_clear(ind,evtype,evnumb) - Процедура, очищает событие типа evtype за номером evnumb объекта с индексом ind.

 

8.8. Комнаты (Rooms)

 

8.8.1. Процедуры и функции.

 

room_set_width(ind,w) - Процедура, устанавливает ширину w для комнаты с индексом ind.

room_set_height(ind,h) - Процедура, устанавливает высоту h для комнаты с индексом ind.

room_set_caption(ind,str) - Процедура, устанавливает заголовок окна str для текущей комнаты с индексом ind.

room_set_persistent(ind,val) - Процедура, устанавливает, является ли комната с индексом ind постоянной (val = true) или нет (val = false).

room_set_code(ind,str) - Процедура, определяет блок кода str, который выполнится при инициализации комнаты с индексом ind.

room_set_background_color(ind,col,show) - Процедура, устанавливает цвет col заднего фона комнаты с индексом ind, если она не использует изображение в качестве заднего фона. Аргумент show устанавливает показывать выбранный цвет (show = true) или нет (show = false).

room_set_background(ind,bind,vis,fore,back,x,y,htiled,vtiled,hspeed,vspeed,alpha) - Процедура, устанавливает задний фон с номером bind (от 0 до 7) для комнаты с индексом ind. Аргумент vis устанавливает, является ли задний фон видимым (vis = true) или нет (vis = false). Аргумент fore устанавливает, является ли изображение передним фоном (fore = true) или нет (fore = false). Аргумент back содержит индекс добавляемого заднего фона. Аргументы x и y отражают координаты по соответствующим осям, в которых будет создан задний фон. Аргументы htiled и vtiled (boolean) устанавливают, будет ли комната замощено фоном по горизонтали и вертикали соответственно. Аргументы hspeed и vspeed устанавливают соответственноо горизонтальную и вертикальную скорости прокрутки заднего фона. Аргумент alpha отражает степень прозрачности назначаемого заднего фона.

room_set_view(ind,vind,vis,left,top,width,height,x,y,hborder,vborder,hspeed,vspeed,obj) - Процедура, устанавливает вид с номером vind (от 0 до 7) для комнаты с индексом ind. Аргумент vis устанавливает, является ли задаваемый вид видимым (vis = true) или нет (vis = false). Аргументы left, top, width и height устанавливают соответственно координаты левой верхней точки вида с указанной шириной и высотой. Если вид должен следовать за объектом с индексом obj , то аргументы  hborder и vborder устанавливают минимальное дистанцию от объекта до края вида.Аргументы hspeed и vspeed устанавливают соответственно горизонтальную и вертикальную скорости следоования вида за объектом.

room_set_view_enabled(ind,val) - Процедура, устанавливает, является ли вид с индексом ind включенным (val = true) или нет (val = false).

room_add() - Функция (real), добавляет новую комнату. Возвращает имя комнаты.

room_duplicate(ind) - Функция (real), создает дубликат комнаты с индексом ind. Возвращает имя дубликата комнаты.

room_instance_add(ind,x,y,obj) - Функция (real), добавляет образец объекта с индексом obj в точку с координатами (x,y) комнаты с индексом ind. Возвращает имя создаваемого образца.

room_instance_clear(ind) - Функция, убирает все образцы всех объектов из комнаты с индексом ind.

room_tile_add(ind,back,left,top,width,height,x,y,depth) - Функция (real), добавляет в комнату с индексом ind тайл. Аргумент back содержит имя заднего фона, из которого берется тайл. Аргументы left и top соответственно содержат координату левого верхнего угла по оси OX и OY на заднем фоне. Аргументы width и height соответственно содержат ширину и высоту добавляемого тайла на заднем фоне. Аргументы x и y содержат координаты точки (x,y), в которой тайл будет создан в комнате. Аргумент depth содержит глубину создаваемого тайла. Функция возвращает имя созданного тайла.

room_tile_add_ext(ind,back,left,top,width,height,x,y,depth,xscale,yscale,alpha)  - Функция (real), добавляет в комнату с индексом ind тайл. Аргумент back содержит имя заднего фона, из которого берется тайл. Аргументы left и top соответственно содержат координату левого верхнего угла по оси OX и OY на заднем фоне. Аргументы width и height соответственно содержат ширину и высоту добавляемого тайла на заднем фоне. Аргументы x и y содержат координаты точки (x,y), в которой тайл будет создан в комнате. Аргумент depth содержит глубину создаваемого тайла. Аргументы xscale и yscale содержат коэффициент масштабирования тайла по оси OX и OY соответственно. Аргумент alpha содержит коэффициент прозрачности добавляемого тайла.  Функция возвращает имя созданного тайла.

room_tile_clear(ind) - Процедура, удаляет из комнаты с индексом ind все тайлы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9. Файлы, реестр и запуск внешних программ. (Files, registry, and executing programs)

 

9.1. Файлы.

 

9.1.1. Атрибуты файлов:

 

fa_readonly

fa_hidden

fa_sysfile

fa_volumeid

fa_directory

fa_archive

 

9.1.2. Константы.

 

game_id - Константа (real), содержит уникальный идентификатор вашей игры.

working_directory - Константа (string), содержит путь к каталогу с игрой (не включая последний слэш).

temp_directory - Константа (string), содержит путь к временной директории, создаваемой для игры.

 

9.1.3. Процедуры и функции.

 

file_exists(fname) - Функция (boolean), возвращает true, если файл с именем fname существует в текущем каталоге.

file_delete(fname) - Процедура, удаляет файл с именем fname.

file_rename(oldname,newname) - Процедура, переименовывает файл oldname в файл с именем newname.

file_copy(fname,newname) - Процедура, создает копию файла fname и присваивет ей имя newname.

file_open_read(fname) - Процедура, открывает файл fname только для чтения.

file_open_write(fname) - Процедура, открывает файл с именем fname для чтения и записи. Если файла с таким именем не существует, то он создается. Если файл существует, то его содержимое удаляется.

file_open_append(fname) - Процедура, открывает файл с именем fname для записи таким образом, что новое содержание файла добавляется к уже существующему.

file_close() - Процедура, закрывает текущий открытый файл. Если вы забудете ее вызвать, то содержимое вашего файла можеть быть испорчено.

file_write_string(str) - Процедура, записывает строку str в текущий открытый файл.

file_write_real(x) - Процедура, записывает вещественное(числовое) значение x в файл.

file_writeln() - Процедура, переводит курсор на новую строку файла для записи данных в него.

file_read_string() - Функция (string), читает строку из файла и возвращает ее.

file_read_real() - Функция (real), читает из файла вещественное(числовое) значение и возвращает его.

file_readln() - Процедура, переводит курсор на новую строку файла для чтения из него.

file_eof() - Функция (boolean), возврашает true, если мы достигли конца файла.

directory_exists(dname) - Функция (boolean), возвращает true, если директория dname существует.

directory_create(dname) - Процедура, создает директорию с указанным именем, если таковая не существует.

file_find_first(mask,attr) - Функция (string), возвращает имя первого найденного файла, который удовлетворяет маске mask и атрибутам attr. Если такой файл не существует, то возвращается пустая строка.

file_find_next() - Функция (string), вызывается после функции file_find_first(), возвращает имя следующего найденного файла с указанными ранее маской и атрибутами. Если таковой файл не существует, возвращается пустая строка.

file_find_close() - Процедура, должна быть вызвана после функций file_find_first() или file_find_next(), для того, чтобы очистить память.

file_attributes(fname,attr) - Функция (boolean), возвращает true, если для указанного файла fname установлен атрибут attr.

 

9.2. Запуск внешних программ.

 

9.2.1. Константы.

 

secure_mode - Константа (boolean), содержит true, если игра запущена в защищенном режиме.

 

9.2.2. Процедуры и функции.

 

parameter_count() - Функция (real), возврашает количество параметров для командной строки (имя программы также является параметром).

parameter_string(n) - Функция (string), возвращает параметр командной строки за номером n Имя программы содержится в параметре с номером 0.

environment_get_variable(name) - Функция (string), возвращает значение переменной окружения с именем name.

execute_program(prog,arg,wait) - Процедура, запускает внешнюю программу prog с параметрами arg. Аргумент wait (boolean) отражает дожидаться окончания выполнения запущенной программы (true) или нет (false).

execute_shell(prog,arg) - Процедура, осуществляет запуск программы prog с аргументами arg на выполнение. Игра не будет дожидаться конца выполнения программы.

 

9.3. Работа с реестром.

 

9.3.1. Процедуры и функции.

 

registry_write_string(name,str) - Процедура, создает строковую запись в реестре с именем name и значением str.

registry_write_real(name,x) - Процедура, создает вещественную (числовую) запись в реестре с именем name и значением x.

registry_read_string(name) - Функция (string), возвращает строковое значение записи в реестре с именем name. Если записи с таким именем не существует, возвращается пустая строка.

registry_read_real(name) - Функция (real), возвращает вещественное (числовое) значение записи в реестре с именем name. Если записи с таким именем не существует, возвращается 0.

registry_exists(name) - Функция (boolean), возвращает true, если запись в реестре с именем name существует

registry_write_string_ext(key,name,str) - Процедура, создает строковую запись в реестре с именем name в разделе с именем key и значением str.

registry_write_real_ext(key,name,x) - Процедура, создает вещественную (числовую) запись в реестре с именем name в разделе с именем key и значением x.

registry_read_string_ext(key,name) - Функция (string), возвращает значение строковой записи в реестре с именем name в разделе с именем key. Если запись не существует, возвращается пустая строка.

registry_read_real_ext(key,name) - Функция (real), возвращает значение вещественной(числовой) записи в реестре с именем name в разделе key. Если запись не существует, функция возвращае 0.

 

registry_exists_ext(key,name) - Функция (boolean), возвращает true, если запись в реестре с именем name в разделе key существует.

registry_set_root(root) - Процедура, назначает root-раздел для использования. Используйте вместо root следующие значения:

 

0 = HKEY_CURRENT_USER

1 = HKEY_LOCAL_MACHINE

2 = HKEY_CLASSES_ROOT

3 = HKEY_USERS

 

9.4. Ini – файлы.

 

9.4.1. Процедуры и функции.

 

ini_open(name) - Процедура, открывает ini-файл с именем name, который должен быть расположен в том же каталоге, что и игра.

ini_close() - Процедура, закрывает открытый в настоящий момент ini-файл.

ini_read_string(section,key,default) - Функция (string), считывает из открытого ini-файла строковое значение из секции section, ключа key. Если такого ключа не существует, то возвращается значение аргумента default.

ini_read_real(section,key,default) - Функция (real), считывает из открытого ini-файла вещественное(числовое) значение из секции section, ключа key. Если такого ключа не существует, то возвращается значение аргумента default.

ini_write_string(section,key,value) - Процедура, записывает в текущий открытый ini-файл строковое значение в ключ key секции section.

ini_write_real(section,key,value) - Процедура, записывает в текущий открытый ini-файл вещественное(числовое) значение в ключ key секции section.

ini_key_exists(section,key) - Функция (boolean), возвращает true, если ключ key существует в секции section текущего открытого ini-файла.

ini_section_exists(section) - Функция (boolean), возвращает true, если секция с именем section существует в текущем открытом ini-файле.

ini_key_delete(section,key) - Процедура, удаляет ключ key из секции section из текущего открытого ini-файла.

ini_section_delete(section) - Процедура, удаляет секцию section из текущего открытого ini-файла.

 

 

 

 

 

 

 

 

 

 

10. Многопользовательские игры (Multiplayer games)

 

10.1. Инициализация подключения.

 

10.1.1. Процедуры и функции.

 

mplay_init_ipx() - Процедура, инициализирует IPX соединение.

mplay_init_tcpip(addr) - Процедура, инициализирует TCP/IP соединение. Аргумент addr (string) содержит веб- или IP-адрес, например, 'www.gameplay.com' или '123.123.123.12', возможно, дополненный номером порта, например ':12'. Вам необходимо указывать адрес только при присоединении к серверу. Для локальной сети адрес указывать не требуется.

mplay_init_modem(initstr,phonenr) - Процедура, инициализирует модемное соединение. Аргумент initstr содержит инициализационную строку. Аргумент phonenr содержит номер телефона, который следует набрать. Номер телефона следует указывать только в том случае, если вы присоединяетесь к серверу.

mplay_init_serial(portno,baudrate,stopbits,parity,flow) - Процедура, инициализирует соединение через последовательный порт с номером portno. Аргумент baudrate содержит количество передаваемых килобит в секунду. Аргумент stopbits содержит количество стопбитов (0 = 1 бит, 1 = 1.5 бита, 2 = 2 бита). Аргумент parity содержит четность передачи данных (0=none, 1=odd, 2=even, 3=mark).  Аргумент flow указывает на тип управления потоком данных (0=none, 1=xon/xoff, 2=rts, 3=dtr, 4=rts и dtr).

mplay_connect_status() - Функция (real), возвращает состояние текущего подключения (0 = нет соединения, 1 = IPX соединение, 2 = TCP/IP соединение, 3 = модемное соединение, 4 = подключение через порт).

mplay_end() - Процедура, завершает текущее соединение.

mplay_ipaddress() - Функция (string), возвращает текущий IP адрес вашего компьютера.

 

10.2. Игровые сессии.

 

10.2.1. Процедуры и функции.

 

mplay_session_create(sesname,playnumb,playername) - Функция (boolean), содает новую сессию, используя текущее соединение. Аргумент sesname содержит имя создаваемой сессии.Аргумент playnumb содержит максимальное количество игроков в данной сессии (0 - неограничено). Аргумент playname содержит ваше имя. Функция возвращает true, если в процессе создания не произошли ошибки.

mplay_session_find() - Функция (real), возвращает количество доступных на данный момент сессий.

mplay_session_name(numb) - Функция (string), возвращает имя сессии с номером numb (0 - первая сессия).Может быть вызвана только после функции mplay_session_find().

mplay_session_join(numb,playername) - Функция (boolean), присоединяет вас к сесси с номером numb. Аргумент playername содержит ваше имя. Возвращает true, если в процессе писоединения к серверу не произошло ошибок. Может быть вызвана только после функции mplay_session_find().

mplay_session_mode(move) - Процедура, устанавливает предоставить функции сервера другому компьютеры, если текущй сервер отсоединится (move = true) или нет (move = false).

mplay_session_status() - Функция (real), возвращает состояние текущей сессии (0 = не существует сессии, 1 = игрок является сервером, 2 = игрок присоединился к серверу)

mplay_session_end() - Процедура, завершает текущую сессию.

 

10.3. Игроки.

 

10.3.1. Функции.

 

mplay_player_find() - Функция (real), возвращает количество игроков, присутствующих в игре на данный момент.

mplay_player_name(numb) - Функция (string), возвращает имя игрока под номером numb. (0 - это вы). Функция может быть вызвана только после функции mplay_player_find().

mplay_player_id(numb) - Функция (real), возвращает идентификационный номер id игрока с именем numv. Функция может быть вызвана только после функции mplay_player_find().

 

10.4. Данные.

 

10.4.1. Процедуры и функции.

 

mplay_data_write(ind,val) - Процедура, записывает значение val (строковое или вещественное(численное)) в слот с номером ind (от 0 до 1000000).

mplay_data_read(ind) - Функция (зависит от типа значения),возвращает значение, записанное в слот с номером ind (от 0 до 1000000). При инициализации слотов все значения содержат 0.

mplay_data_mode(guar) - Процедура, определяет устанавливать гарантированное соединение для пересылки синхронизационных значений (guar = true) или нет (guar = false).

 

10.5. Общение.

 

10.5.1. Процедуры и функции.

 

mplay_message_send(player,id,val) - Процедура, посылает сообщение val игроку player (0 - всем игрокам) с идентификационным номером id в негарантированном режиме.

mplay_message_send_guaranteed(player,id,val) - Процедура, посылает сообщение val игроку player (0 - всем игрокам) с идентификационным номером id в гарантированном режиме.

mplay_message_receive(player) - Функция (boolean), возвращает пришло ли новое сообщение от игрока player (используйте 0 в качестве значения аргумента для получения сообщений от всех игроков) (true) или нет (false).

mplay_message_id() - Функция (real), возвращает идентификацилнный номер id последнего полученного сообщения.

mplay_message_value() - Функция (string), возвращает значение поcледнего полученного сообщения.

mplay_message_player() - Функция (real), возвращает индекс игрока, пославшего последнее сообщение.

mplay_message_name() - Функция (string), возвращает имя игрока, пославшего последнее сообщение.

mplay_message_count(player) - Функция (real), возвращает количество посланных сообщений от игрока player, находящихся в очереди для обработки. (Используйте в качестве значения аргумента 0, чтобы получить общее количество сообщений).

mplay_message_clear(player) - Процедура, удаляет все сообщения от игрока player, находящиеся в очереди. (Использеуйте в качестве значения аргумента 0 для удаления всех сообщений).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11. Частицы.

 

11.1. Типы частиц (Particle types)

 

11.1.1. Индексы формы частиц:

 

pt_shape_pixel

pt_shape_disk

pt_shape_square

pt_shape_diamond

pt_shape_star

pt_shape_plus

pt_shape_cross

 

 

11.1.2. Переменные.

 

shape - Переменная (string), содержит индекс формы частиц. Используется в том случае, если система частиц не использует спрайты.

sprite - Переменная (string), содержит имя спрайта, используемого для отрисовки частиц. Используется в том случае, если система частиц использует спрайты.

sprite_animate - Переменная (boolean), отражает, используется анимированный спрайт (true) или нет (false).

sprite_stretch - Переменная (boolean), отражает, растягивать ли скорость воспроизведения анимации таким образом, чтобы за все время жизни частицы анимация была воспроизведена только один раз (true) или анимация должна циклически повторяться (false). Функционирует при условии, что система использует анимированные спрайты.

sprite_random - Переменная (boolean), отражает, начинать воспроизведение анимированного спрайта с первого кадра (false) или с произвольного (true). Функционирует при условии, что система использует анимированные спрайты.

size_min - Переменная (real), содержит минимально возможный размер генерируемой частицы.

size_max - Переменная (real), содержит максимально возможный размер генерируемой частицы.

size_incr - Переменная (real), содержит коэффициент увеличения размера спрайта с течением времени.

size_rand - Переменная (boolean), отражает изменять ли в каждом шаге размер существующей частицы со случайным коэффициентом (true) или нет (false).

color_start - Переменная (string), содержит начальный цвет частицы, при условии, что система не использует спрайты.

color_middle - Переменная (string), содержит промежуточный цвет частицы, при условии, что система не использует спрайты.

color_end  - Переменная (string), содержит конечный цвет частицы, при условии, что система не использует спрайты.

life_min - Переменная (real), содержит минимально возможное время жизни частицы.

life_max - Переменная (real), содержит максимально возможное время жизни частицы.

speed_min - Переменная (real), содержит минимально возможную скорость движения частицы.

speed_max - Переменная (real), содержит максимально возможную скорость движения частицы.

speed_incr - Переменная (real), содержит коэффициент увеличения скорости части с течением времени.

speed_rand - Переменная (boolean), отражает, изменять ли в каждом шаге скорость движения существующей частицы (true) или нет (false).

dir_min - Переменная (real), содержит минимально допустимое направление движения частиц (в градусах).

dir_max - Переменная (real), содержит максимально допустимое направление движения частиц (в градусах).

dir_incr - Переменная (real), содержит коэффициент изменения направления частицы в каждом шаге.

dir_rand - Переменная (boolean), отражает, изменять ли случайным образом направление частицы каждый шаг (true) или нет (false).

grav_amount - Переменная (real), содержит текущее значение гравитации.

grav_dir - Переменная (real), содержит текущее направление гравитции (в градусах, против часовой стрелки).

step_type - Переменная (string), содержит тип создаваемых частиц текущими частицами в каждом последующем шаге.

step_number - Переменная (real), содержит количество создаваемых частиц  текущими частицами в каждом шаге.

death_type - Переменная (sring), содержит тип частиц, создаваемых при уничтожении текущих частиц.

death_number - Переменная (real), содержит количество частиц, создаваемых при смерти текущей частицы.

 

11.1.3. Процедуры и функции.

 

part_type_create() - Функция (real), создает новый тип частиц. Возвращает идентификатор создаваемого типа частиц. Этот идентификатор в дальнейшем используется при определенни свойств заданного типа.

part_type_destroy(ind) - Процедура, уничтожает частицы типа ind.

part_type_destroy_all() - Процедура, уничтожает частицы всех типов, присутствующих в комнате.

part_type_exists(ind) - Функция (boolean), возвращает true, если тип частиц с идентификатором ind существует.

part_type_clear(ind) - Процедура, сбрасывает настройки типа частиц ind в те, что были определены по умолчанию.

part_type_shape(ind,shape) - Процедура, устанавливает форму shape частиц с идентификатором типа, раным ind (по умолчанию используется pt_shape_pixel).

part_type_sprite(ind,sprite,animat,stretch,random) - Процедура, устанавливает спрайт с именем sprite для частиц типа ind. Аргумент animate устанавливает, является ли спрайт анимированным. Аргумент stretch устанавливает, ьудет ли анимация растянута на весь период жизни частицы или будет циклически повторяться. Аргумент random отражает, следует ли начинать воспроизводить анимацию с произвольного кадра или с первого.

part_type_size(ind,size_min,size_max,size_incr,size_rand) - Процедура, устанавливает соответствующие значения размера для частиц типа ind.

part_type_color(ind,color_start,color_middle,color_end) - Процедура, устанавливает соответствующие значения цветов для частиц типа ind, при условии, что система использует промежуточный цвет.

part_type_color2(ind,color_start,color_end) - Процедура, устанавливает соответствующие значения цветов для частиц типа ind, при условии, что система не использует промежуточный цвет.

part_type_life(ind,life_min,life_max) - Процедура, устанавливает соответствующие значения продолжительности жизни частицы типа ind.

part_type_speed(ind,speed_min,speed_max,speed_incr,speed_rand) - Процедура, устанавливает соответствующие значения скорости для частиц с идентификатором ind.

part_type_direction(ind,dir_min,dir_max,dir_incr,dir_rand) - Процедура, устанавливает соответствующие значения направления для частиц с идентификатором ind.

part_type_gravity(ind,grav_amount,grav_dir) - Процедура, устанавливает соответствующие значения гравитации для частиц с идентификатором ind.

part_type_step(ind,step_number,step_type) - Процедура, устанавливает соответствующие значения для генерируемых частиц текущими частицами типа ind в каждом шаге.

part_type_death(ind,death_number,death_type) - Процедура, устанавливает соответствующие значения для генерируемых частиц текущими частицами типа ind при уничтожении последних.

 

11.2. Системы частиц (Particle systems)

 

11.2.1. Процедуры и функции.

 

part_system_create() - Функция (real), создает новую систему частиц. Возвращает идентификатор созданной системы. Этот идентификатор в дальнейшем используется для определения свойств системы.

part_system_destroy(ind) - Процедура, уничтожает систему частиц с идентификатором ind.

part_system_destroy_all() - Процедура, уничтожает все активные в данный момент системы частиц.

part_system_exists(ind) - Функция (boolean), возвращает true, если система с указанным идентификатором ind существует.

part_system_clear(ind) - Процедура, сбрасывает все значения настроек системы частиц с идентификатором ind в те, что определены по умолчанию, уничтожая все имеющиеся на данный момент частицы, эмиттеры и аттракторы, принадлежащие ей.

part_system_sprite_based(ind,set) - Процедура, определяет, использует ли система частиц с идентификатором ind спрайты (set = true) или нет.

part_system_draw_order(ind,oldtonew) - Процедура, устанавливает порядок, в котором система частиц с идентификатором ind отрисовывает частицы. Аргумент oldtonew отражает, отрисовывать первыми более старые частицы (true) или нет.

part_system_doastep(ind) - Процедура, просчитывает координаты всех частиц, созданных в системе частиц с идентификатором ind, также позволяет эмиттерам создавать новые частицы. Должна быть вызвана в каждом шаге игры.

part_system_draw(ind,x,y) - Процедура, рисует частицы, определенные в системе частиц с идентификатором ind, начиная в точке с координаатами (x,y).

part_particles_create(ind,x,y,parttype,number) - Процедура, создает в системе частиц с идентификатором ind в точке с координатами (x,y) количество частиц, определенное аргументом number типа parttype.

part_particles_clear(ind) - Процедура, удаляет все частицы из системы частиц с идентификатором ind.

part_particles_count(ind) - Функция (real), возвращает количество частиц, существующих в настоящий момент в системе частиц с идентификатором ind.

 

11.3. Эмиттеры (Emitters)

 

11.3.1. Индексы форм областей.

 

ps_shape_rectangle

ps_shape_ellipse

ps_shape_diamond

ps_shape_line

 

11.3.2. Индексы способов распространения частиц.

 

ps_distr_linear

ps_distr_gaussian

 

11.3.3. Переменные.

 

xmin - Переменная (real), содержит координату левого края области, в которой генерируются частицы.

xmax - Переменная (real), содержит координату правого края области, в которой генерируются частицы.

ymin - Переменная (real), содержит координату верхнего края области, в которой генерируются частицы.

ymax - Переменная (real), содержит координату нижнего края области, в которой генерируются частицы.

shape - Переменная (string), содержит индекс формы области, в которой генерируются частицы.

distribution - Переменная (string), содержит индекс способа распространения частиц.

particle type - Переменная (string), содержит тип создаваемых эмиттером частиц.

number - Переменная (real), содержит количество генерируемых эмиттером частиц за шаг.

 

11.3.4. Процедуры и функции.

 

part_emitter_create(ps) - Функция (real), создает эмиттер для указаннной сисетмы частиц с идентификатором ps. Возвращает идентификатор созданного эмиттера.

part_emitter_destroy(ps,ind) - Процедура, уничтожает эмиттер с идентификатором ind, который находится в системе частиц с идентификатором ps.

part_emitter_destroy_all(ps) - Процедура, уничтожает все эмиттеры, существующие на данный момент в системе частиц с идентификатором ps.

part_emitter_exists(ps,ind) - Функция (boolean), возвращает true, если эмиттер с идентификатором ind существует в системе частиц с идентификатором ps.

part_emitter_clear(ps,ind) - Процедура, сбрасывает настройки эмиттера с идентификатором ind, существующим в системе частиц с идентификатором ps в значения, определенные по умолчанию.

part_emitter_region(ps,ind,xmin,xmax,ymin,ymax,shape,distribution) - Процедура, устанавливает область генерации частиц по заданным параметрам для эмиттера с идентификатором ind, существующим в системе частиц с идентификатором ps.

part_emitter_burst(ps,ind,parttype,number) - Процедура, производит единичное создание частиц типа parttype в количестве number штук эмиттером с идентификатором ind, существующим в системе частиц с идентификатором ps.

part_emitter_stream(ps,ind,parttype,number) - Процедура, производит постоянное создание частиц типа parttype в количестве number штук эмиттером с идентификатором ind, существующим в системе частиц с идентификатором ps, т.е. каждый шаг.

 

11.4. Аттракторы (Attractors)

 

11.4.1. Типы аттракторов:

 

ps_force_constant

ps_force_linear

ps_force_quadratic

 

11.4.2. Переменные.

 

x - Переменная (real), содержит координату аттрактора по оси OX.

y - Переменная (real), содержит координату аттрактора по оси OY.

force - Переменная (real), содержит силу, с которой аттрактор притягивает\отталкивает частицы.

dist - Переменная (real), содержит максимально возможную дистанцию, до которой аттрактор действует.

kind - Переменная (string), содержит тип аттрактора.

additive - Переменная (boolean), отражает, влияет ли сила действия аттрактора на скорость и направление частиц в каждом шаге (true) или только единожды (false).

 

11.4.3. Процедуры и функции.

 

part_attractor_create(ps) - Функция (real), создает аттрактор в системе частиц с идентификатором ps. Возвращает идентификатор созданного аттрактора.

part_attractor_destroy(ps,ind) - Процедура, уничтожает аттрактор с идентификатором ind, существующий в системе частиц с идентификатором ps.

part_attractor_destroy_all(ps) - Процедура, уничтожает все аттракторы, существующие в системе частиц с идентификатором ps.

part_attractor_exists(ps,ind) - Функция (boolean), возвращает true, если аттрактор с идентификатором ind, существуюет в системе частиц с идентификатором ps.

part_attractor_clear(ps,ind) - Процедура, сбрасывает настроки аттрактора с идентификатором ind, существующего в системе частиц с идентификатором ps в значения, определенные по умолчанию.

part_attractor_position(ps,ind,x,y) - Процедура, устанавливает аттрактор с идентификатором ind, существующий в системе частиц с идентификатором ps в точку с координаатми (x,y).

part_attractor_force(ps,ind,force,dist,kind,aditive) - Процедура, устанавливает соответствующие параметры для аттрактора с идентификатором ind, существующего в системе частиц с идентификатором ps.

 

11.5. Деструкторы (Destroyers)

 

11.5.1.  Индексы форм области, в которой частицы уничтожаются.

 

ps_shape_rectangle

ps_shape_ellipse

ps_shape_diamond

 

11.5.2. Переменные.

 

xmin - Переменная (real), отражает координату левого края области, в котором частицы уничтожаются.

xmax - Переменная (real), отражает координату правого края области, в котором частицы уничтожаются.

ymin - Переменная (real), отражает координату верхнего края области, в котором частицы уничтожаются.

ymax - Переменная (real), отражает координату нижнего края области, в котором частицы уничтожаются.

shape - Переменная (string), содержит индекс формы области, в которой частицы будут уничтожаться.

 

11.5.3. Процедуры и функции.

 

part_destroyer_create(ps) - Функция (real), создает деструктор в системе частиц с идентификатором ps. Возвращает идентификатор созданного деструктора.

part_destroyer_destroy(ps,ind) - Процедура, уничтожает деструктор с идентификатором ind, существующий в системе частиц с идентификатором ps.

part_destroyer_destroy_all(ps) - Процедура, уничтожает все деструкторы, существующие в данные момент в системе частиц с идентификатором ps.

part_destroyer_exists(ps,ind) - Функция (boolean), возвращает true, если деструктор с идентификатором ind существует в системе частиц с идентификатором ps.

part_destroyer_clear(ps,ind) - Процедура, сбрасывает настройки деструктора с идентификатором ind, существующего в системе частиц с идентификатором ps в значения, определенные по умолчанию.

part_destroyer_region(ps,ind,xmin,xmax,ymin,ymax,shape) - Процедура, устанавливает деструктор с идентификатором ind в систему частиц с идентификатором ps с заданными параметрами.

 

11.6. Дефлекторы (Deflectors)

 

11.6.1.  Типы дефлекторов.

 

ps_deflect_horizontal

ps_deflect_vertical

 

11.6.2. Перемемнные.

 

xmin - Переменная (real), отражает координату левого края области, от которой частицы отталкиваются.

xmax - Переменная (real), отражает координату правого края области, от которой частицы отталкиваются.

ymin - Переменная (real), отражает координату верхнего края области, от которой частицы отталкиваются.

ymax - Переменная (real), отражает координату нижнего края области, от которой частицы отталкиваются.

kind - Переменная (string), отражает тип дефлектора.

friction - Переменная (real), содержит коэффициент трения, использующийся при просчете столкновениия частицы и дефлектора.

 

11.6.3. Процедуры и функции.

 

part_deflector_create(ps) - Функция (real), создает новый дефлектор в системе частиц с идентификатором ps. Возвращает идентификатор созданного дефлектора.

part_deflector_destroy(ps,ind) - Процедура, уничтожает дефлектор с идентификатором ind, существующий в системе частиц с идентификатором ps.

part_deflector_destroy_all(ps) - Процедура, уничтожает все дефлекторы, существующие в данные момент в системе частиц с идентификатором ps.

part_deflector_exists(ps,ind) - Функция (boolean), возвращает true, если дефлектор с идентификатором ind существует в системе частиц с идентификатором ps.

part_deflector_clear(ps,ind) - Процедура, сбрасывает настройки дефлектора с идентификатором ind, существующего в системе частиц с идентификатором ps в значения, определенные по умолчанию.

part_deflector_region(ps,ind,xmin,xmax,ymin,ymax) - Процедура, устанавливает дефлектор с идентификатором ind в систему частиц с идентификатором ps с заданными параметрами.

part_deflector_kind(ps,kind) - Процедура, устанавливает тип kind текущего дефлектора, существующего в системе частиц с идентификатором ps.

part_deflector_friction(ps,kind) - Процедура, устанавливает значение трения kind, используемого для текущего дефлектора, существующего в системе частиц с идентификатором ps.

 

11.7. Чейнджеры (Changers)

 

11.7.1. Типы областей.

 

ps_shape_rectangle

ps_shape_ellipse

ps_shape_diamond

 

11.7.2. Типы чейнджеров.

 

ps_change_motions

ps_change_shape

ps_change_alle

 

11.7.3. Переменные.

 

xmin - Переменная (real), содержит координату левого края области, в которой действует чейнджер.

xmax - Переменная (real), содержит координату правого края области, в которой действует чейнджер.

ymin - Переменная (real), содержит координату верхнего края области, в которой действует чейнджер.

ymax - Переменная (real), содержит координату нижнего края области, в которой действует чейнджер.

shape - Переменная (string), содержит тип области, в которой действует чейнджер.

parttype1 - Переменная (string), содержит тип изменяемой чейнджером частицы.

parttype2 - Переменная (string), содержит тип частицы, который получается после изменения частицы чейнджером.

kind - Переменная (string), содержит тип чейнджера.

 

11.7.4. Процедуры и функции.

 

part_changer_create(ps) - Функция (real), создает новый чейнджер в системе частиц с идентификатором ps. Возвращает идентификатор созданного чейнджера.

part_changer_destroy(ps,ind) - Процедура, уничтожает чейнджер с идентификатором ind, существующий в системе частиц с идентификатором ps.

part_changer_destroy_all(ps) - Процедура, уничтожает все чейнджеры, существующие в данные момент в системе частиц с идентификатором ps.

part_changer_exists(ps,ind) - Функция (boolean), возвращает true, если чейнджер с идентификатором ind существует в системе частиц с идентификатором ps.

part_changer_clear(ps,ind) - Процедура, сбрасывает настройки чейнджера с идентификатором ind, существующего в системе частиц с идентификатором ps в значения, определенные по умолчанию.

part_changer_region(ps,ind,xmin,xmax,ymin,ymax,shape) - Процедура, устанавливает чейнджер с идентификатором ind в систему частиц с идентификатором ps с заданными параметрами

part_changer_types(ps,parttype1,parttype2) - Процедура, определяет типы изменяемых и получаемых частиц, существующих в системе частиц с идентификатором ps.

part_changer_kind(ps,kind) - Процедура, устанавливает тип kind чейнджера, используемого в системе частиц с идентификатором ps.

 

 

 

 

 

 

 

 

 

 

 

 

 

12. DLL.

 

12.1. DLL-библиотеки.

 

12.1.1. Функции.

 

external_define(dll,name,calltype,restype,argnumb,arg1type,arg2type,…) - Функция (real или string), определяет внешнюю функцию. Аргумент dll содержит имя dll-библиотеки. Аргумент name содержит имя функции. Аргумент calltype содержит тип вызова (dll_cdecl или dll_stdcall). Аргумент restype тип возвращаемого значения (ty_real или ty_string). Аргумент argnumb содержит количество передаваемых в функцию аргументов (от 0 до 12). Далее, для каждого аргумента arg1type - arg12type вы должны указать его тип (ty_real или ty_string). Если в функцию передается более 4 аргументов - все он должны быть типа ty_real.

external_call(id,arg1,arg2,…) - Функция (real или string), выполняет внешнюю функцию с индексом id из определенной ранее dll-библиотеки с помощью функции external_define(). Аргументы arg1-arg12 содержат передаваемые в функцию аргументы.

external_free(dll) - Процедура, выгружает dll-библиотеку с индексом dll из оперативной памяти.

 

12.2. Выполнение кода.

 

12.2.1. Процедуры и функции.

 

execute_string(str) - Процедура, выполняет блок кода, записанный в строковой переменной str.

execute_file(fname) - Процедура, выполняет блок кода, записанный в файле fname.

window_handle() - Функция (real), содержит цифровое значение, определяющее код окна в Операционной Системе. Нужно для библиотек, рисующих на канве (холсте) окна. Возвращает код окна

 

 

УЛИТКА - каталог ресурсов интернет be number one Rambler's Top100 COOL.RU - каталог лучших сайтов

 

 

Hosted by uCoz