Plugin DLL инструкции

Следующие инструкции — для вызова DLL plugins и расширений движка (DLL = Dynamic Link Library). DLL plugins можно использовать со всеми версиями GameStudio . Они могут быть сделаны в системе разработки подобно Visual C++™, Borland™, или Delphi™, и GameStudio SDK (Source Development Kit) который покупается отдельно. Детали о создании DLL plugins можно найти в GameStudio Programmer’s Manual, которое доступно на вебсайте.
Перед использованием DLL-функции переменная DLL_handle должна получить дескриптор открытого DLL и должен быть объявлен прототип функции DLL. Это делается как с обычной функцией, но вместо function испоьзуется ключевое слово dllfunction. Также как и обычные функции, функция DLL может получать до 4 параметров и возвращать значение. Читать далее «Plugin DLL инструкции»

Инструкции ввода/вывода

Следующие инструкции могут использоваться для взаимодействия игры с внешним миром:

inkey (string);
Получает ввод с клавиатуры в данную строку(string). Автоматически активизируется локальная раскладка клавиатуры. Инструкция ждет завершение ввода через [Enter] и только тогда продолжает работу. В процессе ввода не могут выполняться инструкции save/load. Клавишы [Esc], [Вверх], [Вниз], [PgUp], или [PgDn] позволяют прерывать ввод в любое время, при этом будет восстановлено предыдущее содержание строки. Текст ввода редактируется клавишами [BackSpace], [Del], [Right], [Left], [Home] and[End].
Если строка появляется в Тексте, показанном на экране (см. ниже), будет виден ввод вместе с курсором (мигающий символ с кодом #127 из соответствующего шрифта). Если достигнут конец строки (определяется из длины начальной строки при определения string), дальнейший ввод клавиатуры не будет принят. Завершающие пробелы обрезаются. После завершения ввода переменая result будет = 27, если вход был прерван клавишей [Esc], 72 -клавишей [Up], 73 — [PgUp], 80 — [Down] или 81 — [PgDn]. Если ввод завершен клавишей [Enter], result будет 13. Длина строки может быть определена предопределенной переменной str_len. Читать далее «Инструкции ввода/вывода»

Параметры частиц

Следующие параметры используются только для частиц. Они никогда не должны быть установлены для сущностей:

lifespan
Продолжительность жизни частицы в тиках (умолчание 80). Автоматически идет обратный отсчет; при достижении 0 или при установке 0 вручную частица удаляется. Если продолжительность жизни частицы установлена на значение меньшее чем цикл фрейма, подобно 0.01, частица будет жить только один цикл фрейма.

vel_x, vel_y, vel_z
Вектор скорости частицы, или линейный вектор для эффекта луча или полосы. В начале функции равен вектору, заданному инструкцией effect. Читать далее «Параметры частиц»

Параметры сущности вида(view) / неба(sky)

Следующие параметры используются только в определениях сущности или неба:

type = ;
Здесь имя по умолчания файла сущностей pcx, bmp, tga, или mdl дается в угловых скобках. Таким образом могут быть определены только сущности модели и спрайта. Файл сущности может быть изменен во время выполнения инструкцией morph.

layer = number;
Определяет порядок сущностей вида или неба, если они видны на экране и пересекаются с другими объектами подобно панелям или текстам, или другими сущностям неба. Элементы с более высоким значением layer будут помещены поверх элементов с более низким значением layer. Параметр layer (умолчание 0) не может быть изменен во время выполнения. Читать далее «Параметры сущности вида(view) / неба(sky)»

Визуальные параметры

Следующие параметры влияют на внешность сущностей:

scale_x, scale_y, scale_z
Масштабные коэффициенты, которые определяют размер сущностей в квантах на пиксель (допустимы только для спрайта и модели). Они могут быть изменены в процессе gameplay для увеличения или уменьшения сущности в режиме реального времени (real time). Их значение по умолчанию — 1.0, т.е. пиксель текстуры сущностей имеет размер 1 квант. Обратите внимание: Изменение размера сущности также изменит ее границы, но не изменит его корпус столкновения (collision hull) (см. следующую главу). Если масштаб очень маленький может понадобиться поднять его центр, чтобы предотвратить застревание сущности в полу. Читать далее «Визуальные параметры»

Action Script 3. Паттерны программирования.

Недавно Андрей Будай написал и выложил книгу о паттернах программирования на C#. Книга написана для начинающих и с очень понятными примерами. Но есть два существенных минуса: 1) она написана на украинском языке и читать ее очень сложно 2) написана она для программистов на C#. Но это вдохновило меня написать серию постов с свободным изложением прочитанного в этой книге и для Action Script 3, попутно штудируя книгу.

Есть много программистов, которые пишут хороший код не используя никакие паттерны программирования. Многие ничего не слышали о паттернах, но с опытом приобрели уже на уровне рефлексов как писать хороший ООП код. Есть много примеров того, когда паттерны использовали как «дань моде» и в конечном итоге это приводило к раздуванию кода и невозможности его потом быстро модифицировать. Так надо ли их знать и учить? Мое личное мнение — учить не надо 🙂 но ознакомиться стоит, чтобы потом понимать абстракции, на которые ссылаются гуру программирования, для того, чтобы посмотреть на свой код с несколько другой стороны и для того, чтобы в следующий раз решать задачу более эффективным способом. Читать далее «Action Script 3. Паттерны программирования.»