Векторные инструкции

Следующие инструкции работают с векторами, то есть с массивами из трех чисел. Векторы могут использоваться для различных целей в игре, например для описания положения x-y-z, или направления, или скорости, или углов pan-tilt-roll . В качестве векторов для векторных инструкций могут также использоваться либо массив из 3 чисел или первый из трех последовательных skill’ов или числовых параметров объекта. Например, чтобы использовать параметры x y z сущности my как вектор положения в пространстве можно просто передать my.x. Таким образом, допустимыми векторами для векторных инструкций являются:

— Любые предопределенные векторы, и любая переменная, которая определена как var [3];
— Любой элемент массива переменных чей индекс кратный 3, и по крайней мере на 3 меньше чем длина массива (например array[0], array[3], array[6]…);
— Любой skill сущности между skill1 и skill46;
— Параметр x, pan, или blue любой сущности;
— Параметр x или pan любого view.
Если передается что-либо другое когда ожидается вектор, движек валится — в интересах быстродействия проверка на вектор не осуществляется.

vec_set (vector1, vector2)
Копирует три числа из второго вектора в первый.

vec_add (vector1, vector2)
Складывает первый и второй вектор, и копирует сумму в первый.

vec_sub (vector1, vector2)
Вычитает второй вектор из первого, и копирует разницу в первый. Пример:
vec_set(v1,nullvector); // обнулить вектор v1 (nullvector — предопределенный вектор = 0,0,0)
vec_sub(v1,v2); // v1 = -v2

vec_scale (vector, var)
Умножает все три числа вектора на данное число или выражение.

vec_dot (vector1, vector2)
Returбавления. Если строка содержит ‘n ‘ будет вставлен перевод строки; ‘ file://’/ вставляет ‘ ‘.

file_str_read (handle, string)
Читает текст из файла с данным дескриптором в данную строку, пока не достигнут разделитель. Разделитель является или ‘0’-ой байт в файле, или перевод строки, или запятая (‘,’). Таким образом можно читать строки разделенные запятыми из файла базы данных. Файл должен быть открыт для чтения. Первоначальная длина строки не будет переписана.

file_chr_read (handle, string)
Читает символы из файла с данным дескриптором в данную строку, пока строка не заполнится. Файл должен быть открыт для чтения. Число читаемых символов = первоначальная длина строки.

file_asc_write (handle, var)
Пишет один байт, заданный числом или переменной (0.. 255) в файл с данным дескриптором. Файл должен быть открыт для записи или добавления.

var = file_asc_read (handle)
Читает байт из файла с данным дескриптором и переходит к следующему байту в файле. Файл должен быть открыт.

Добавить комментарий