Skip to the content.

Список методов в категории Core:

ACosRad

Описание

Возвращает арккосинус значения в радианах.

Определение

float agk::ACosRad( float a )

Параметры

a - Значение, передаваемое в функцию arccosine.

Пример кода


ACos

Описание

Возвращает арккосинус значения в градусах.

Определение

float agk::ACos( float a )

Параметры

a - Значение, передаваемое в функцию arccosine.

Пример кода


WorldToScreenY

Описание

Преобразует мировую координату Y в координату экрана Y на основе текущего смещения вида и масштабирования. Когда SetViewOffset равен 0,0, а SetViewZoom равен 1,0, координаты мира и экрана совпадают. Например, когда вид смещен на 20 пикселей вниз, объект на уровне 0,0 в мире появится на уровне -20 (вне экрана) над экраном.

Определение

float agk::WorldToScreenY( float y )

Параметры

y - Мировая координата Y для преобразования.

Пример кода


ViewFile

Описание

Открывает данный файл во внешнем приложении, подходящем для его типа файла. Как правило, это приложение по умолчанию, выбранное пользователем. Файл должен быть в вашей папке для чтения или записи, вы должны указать имя файла, как если бы вы загружали файл. В настоящее время это работает только на Windows, iOS и Android.

Определение

void agk::ViewFile( const char* szFilename )

Параметры

szFilename - Путь к файлу, который нужно открыть

Пример кода


WorldToScreenX

Описание

Преобразует мировую координату X в координату экрана X на основе текущего смещения вида и масштабирования. Когда SetViewOffset равен 0,0, а SetViewZoom равен 1,0, координаты мира и экрана совпадают. Например, когда вид смещен на 20 пикселей вправо, объект на 0,0 в мире появится на -20 (вне экрана) слева.

Определение

float agk::WorldToScreenX( float x )

Параметры

x - Мировая координата X для преобразования.

Пример кода


Val

Описание

Преобразует строку в целое значение. Например, Val(10) вернет значение 10.

Определение

int agk::Val( const char* str )
int agk::Val( const char* str, int base )

Параметры

str - Строка для преобразования в целое число.
base - База, в которой находится строковый номер.

Пример кода


ValFloat

Описание

Преобразует строку в значение с плавающей запятой. Например, ValFloat(1.045) вернет значение 1.045

Определение

float agk::ValFloat( const char* str )

Параметры

str - Строка для преобразования в целое число.

Пример кода


Upper

Описание

Преобразует строку в символы верхнего регистра.

Определение

char* agk::Upper( const char* strin )

Параметры

strin - Строка для преобразования

Пример кода


UpdateDeviceSize

Описание

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

Определение

void agk::UpdateDeviceSize( UINT w, UINT h )

Параметры

w - Новая ширина
h - Новая высота

Пример кода


Update3D

Описание

Звонил автоматически. Это расширенная команда для управления процессом обновления. Обычно Update вызывает это и Update2D (), чтобы обновить все в мире. Эта команда обновляет только 3D - объекты, такие как 3D-модели.

Определение

void agk::Update3D( float time )

Параметры

time - время в секундах, чтобы переместить все вперед. Могут быть доли секунды.

Пример кода


Update2D

Описание

Звонил автоматически. Это расширенная команда для управления процессом обновления. Обычно Update вызывает это и Update3D (), чтобы обновить все в мире. Эта команда обновляет только 2D-объекты, такие как спрайты и текст.

Определение

void agk::Update2D( float time )

Параметры

time - время в секундах, чтобы переместить все вперед. Могут быть доли секунды.

Пример кода


Update

Описание

Обновляет все 2D и 3D объекты в зависимости от заданного времени, анимации, физики и т. Д. Если время равно 0, то для пошагового моделирования используется время последнего кадра. Если вы уже назвали StepPhysics этим фреймом, он не будет вызван снова для этого фрейма. Вызываемый автоматически Sync, вы можете использовать Sync или Update(), Render(), Swap() для ручной синхронизации. Если вы хотите иметь больше контроля, вы можете разбить это дальше, заменив Update на Update2D, Update3D()

Определение

void agk::Update( float time )

Параметры

time - время в секундах, чтобы переместить все вперед. Могут быть доли секунды.

Пример кода


TruncateString

Описание

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

Определение

char* agk::TruncateString( const char* str, const char* character )

Параметры

str - Строка для изменения
character - Символ, который нужно искать, должен быть одним символом

Пример кода


Trunc

Описание

Возвращает целочисленную часть значения с плавающей запятой без округления в любом случае.

Определение

int agk::Trunc( float a )

Параметры

a - Значение для усечения.

Пример кода


Timer

Описание

Получите количество секунд и долей секунд с момента запуска приложения. Точность до миллисекунд, но из-за неточностей с плавающей запятой чем дольше работает приложение, тем менее точным оно становится. Более конкретно, значение времени имеет около 7 значимых цифр точности, так что по мере увеличения числа секунд количество десятичных знаков уменьшается. Если вам нужно только время до ближайшей секунды, то это значение будет хорошо примерно до 16 000 000 секунд. Вызов этой команды внутренне вызовет системный вызов, чтобы получить количество прошедшего времени, поэтому он будет меняться каждый раз, когда вы его вызываете.

Определение

float agk::Timer()

Параметры

Пример кода


TerminateApp

Описание

Немедленно завершает работу указанного приложения. Это следует использовать только в крайних случаях, так как приложение не имеет возможности очистить или закончить то, что оно делает.

Определение

void agk::TerminateApp( UINT appID )

Параметры

appID - Идентификатор приложения для завершения работы, возвращаемый из runApp()

Пример кода


TrimString

Описание

Возвращает строку со всеми символами в символах, удаленными из концов строки. Исходная строка не изменяется, и возвращается новая строка с удаленными символами. Это можно использовать для удаления лишних пробелов с концов входной строки. Обратите внимание, что если вы вызываете эту команду из уровня 2, то возвращаемая строка должна быть удалена, когда вы закончите с ней.

Определение

char* agk::TrimString( const char* str, const char* chars )

Параметры

str - Строка для изменения
chars - Символы для удаления

Пример кода


TanRad

Описание

Возвращает тангенс значения в радианах.

Определение

float agk::TanRad( float a )

Параметры

a - Значение, передаваемое в касательную функцию.

Пример кода


Tan

Описание

Возвращает тангенс значения в градусах.

Определение

float agk::Tan( float a )

Параметры

a - Значение, передаваемое в касательную функцию.

Пример кода


Sync

Описание

Обновляет сцену с последней информацией, рисует все спрайты, обновляет глобальные объекты и меняет местами backbuffer в поле зрения. Не рисует спрайты, созданные с помощью указателей на уровне 2, вы должны нарисовать их вручную, вызвав функцию рисования спрайта или назначив их менеджеру спрайтов для пакетного рисования.

Определение

void agk::Sync()

Параметры

Пример кода


Swap

Описание

Выводит задний буфер на экран и очищает задний буфер для следующего кадра, обновляет глобальные временные переменные. Вызываемый автоматически Sync, вы можете использовать Sync или Update, Render, Swap один за другим для ручной синхронизации.

Определение

void agk::Swap()

Параметры

Пример кода


StripString

Описание

Возвращает строку, из которой удалены все символы в символах. Исходная строка не изменяется, и возвращается новая строка с удаленными символами. Например, StripString(my string, yn) вернет m strig. Обратите внимание, что если вы вызываете эту команду из уровня 2, то возвращаемая строка должна быть удалена, когда вы закончите с ней.

Определение

char* agk::StripString( const char* str, const char* chars )

Параметры

str - Строка для изменения
chars - Символы для удаления

Пример кода


StringToBase64

Описание

Преобразует строку UTF-8 в строку Base64. Если вы вызываете эту команду из уровня 2, эта строка должна быть удалена, когда вы закончите с ней.

Определение

char* agk::StringToBase64( const char* input )

Параметры

input - Строка для преобразования

Пример кода


Str

Описание

Преобразует значение в строку, если вы вызываете эту команду из уровня 2, эта строка должна быть удалена, когда вы закончите с ней.

Определение

char* agk::Str( float valueFloat )
char* agk::Str( float valueFloat, UINT decimals )
char* agk::Str( int valueInt )

Параметры

valueFloat - Значение для преобразования в строку.
value - Значение для преобразования в строку.
decimals - Количество мест после десятичной точки для включения.
valueInt - Значение для преобразования в строку.

Пример кода


StepPhysics

Описание

Шагает физическое моделирование на определенное количество времени. Это значение времени выражается в секундах и может включать доли секунд. Шаговое моделирование физики на большое значение времени (больше, чем, скажем, 0,1) может привести к неопределенному поведению и движению физических объектов друг через друга. Не требуется, чтобы вы вызывали эту команду в своем игровом цикле, если вы ее не вызываете, Sync или Update вызовут ее для вас с последним временем кадра, чтобы позволить физическому моделированию догнать вас в реальном времени. Если вы действительно вызываете StepPhysics, то он не будет вызван для вас синхронизацией или обновлением для этого кадра, это позволяет вам сделать свой собственный физический хронометраж, если вы предпочитаете. При использовании фиксированного временного шага каждый кадр ваша физика будет работать точно так же на всех устройствах и во всех частотах кадров, но снижение fps приведет к тому, что физика будет идти медленнее, так как она всегда будет шагать одно и то же количество времени, независимо от того, был ли кадр быстрым или медленным. Использование переменного шага для каждого кадра позволит физике двигаться с одинаковой скоростью независимо от частоты кадров, но она больше не будет детерминированной между устройствами и различными частотами кадров. Например, если ваша игра зависит от физического объекта, падающего и подпрыгивающего на одну и ту же высоту каждый раз, когда он запускается, то вы должны использовать фиксированный временной шаг. Если положение физических объектов не важно для вашей игровой логики, то переменный временной шаг может быть лучшим.

Определение

void agk::StepPhysics( float time )

Параметры

time - Время шага в секундах

Пример кода


Sqrt

Описание

Возвращает квадратный корень из значения с плавающей запятой.

Определение

float agk::Sqrt( float a )

Параметры

a - Значение квадратного корня.

Пример кода


Sleep

Описание

Приостановите работу приложения на определенное количество миллисекунд. Не рекомендуется использовать эту команду для приостановки приложения более чем на один кадр (примерно 17 миллисекунд).

Определение

void agk::Sleep( UINT milliseconds )

Параметры

milliseconds - Количество миллисекунд сна.

Пример кода


Sin

Описание

Возвращает синус значения в градусах.

Определение

float agk::Sin( float a )

Параметры

a - Значение, которое нужно передать в синусоидальную функцию.

Пример кода


Spaces

Описание

Создает строку пробелов, равную переданной длине.

Определение

char* agk::Spaces( UINT length )

Параметры

length - Длина строки пробелов для создания

Пример кода


SinRad

Описание

Возвращает синус значения в радианах.

Определение

float agk::SinRad( float a )

Параметры

a - Значение, которое нужно передать в синусоидальную функцию.

Пример кода


ShareText

Описание

Отправляет данный текст в операционную систему, которая затем спросит пользователя, как он хочет поделиться этим текстом, например, через Facebook, Twitter и т. Д. Это работает только на iOS и Android.

Определение

void agk::ShareText( const char* szText )

Параметры

szText - Текст для обмена

Пример кода


ShareImage

Описание

Отправляет данное изображение в операционную систему, которая затем спросит пользователя, как он хочет поделиться этим изображением, например, через Facebook, Twitter и т. Д. Файл должен быть в вашей папке для чтения или записи, или вы можете использовать путь raw: для загрузки из любого места, вы должны указать имя файла, как если бы вы загружали файл. Это работает только на iOS и Android.

Определение

void agk::ShareImage( const char* szFilename )

Параметры

szFilename - Имя файла изображения для совместного использования

Пример кода


ShareFile

Описание

Отправляет данный файл в операционную систему, которая затем спросит пользователя, как он хочет поделиться им, например, по электронной почте, NFC и т. Д. Файл может находиться в вашей папке для чтения или записи, или вы можете использовать путь raw: для загрузки из любого места, вы должны указать имя файла, как если бы вы загружали файл. Это работает только на iOS и Android.

Определение

void agk::ShareFile( const char* szFilename )

Параметры

szFilename - Путь к файлу для совместного использования

Пример кода


ShareImageAndText

Описание

Отправляет данное изображение и текст в операционную систему, которая затем спросит пользователя, как он хочет поделиться текстом, например, через Facebook, Twitter и т. Д. Файл изображения должен находиться в вашей папке для чтения или записи, или вы можете использовать путь raw: для загрузки из любого места, вы должны указать имя файла, как если бы вы загружали файл. Это работает только на iOS и Android.

Определение

void agk::ShareImageAndText( const char* szFilename, const char* szText )

Параметры

szFilename - Имя файла изображения для совместного использования
szText - Текст для обмена

Пример кода


Sha512

Описание

Хэширует строку с помощью алгоритма SHA512 для получения 64-символьной шестнадцатеричной строки. Это односторонняя хэш-функция, которая может использоваться с солением (добавлением секретной строки) для паролей или обнаружения несанкционированного доступа к параметрам, передаваемым серверу. Если вы вызываете эту функцию из уровня 2, то вы должны удалить возвращаемую строку с помощью agk::DeleteString, когда закончите с ней.

Определение

char* agk::Sha512( const char* str )

Параметры

str - Строка для хэширования

Пример кода


Sha256

Описание

Хэширует строку с помощью алгоритма SHA256 для получения 32-символьной шестнадцатеричной строки. Это односторонняя хэш-функция, которая может использоваться с солением (добавлением секретной строки) для паролей или обнаружения несанкционированного доступа к параметрам, передаваемым серверу. Если вы вызываете эту функцию из уровня 2, то вы должны удалить возвращаемую строку с помощью agk::DeleteString, когда закончите с ней.

Определение

char* agk::Sha256( const char* str )

Параметры

str - Строка для хэширования

Пример кода


Sha1

Описание

Хэширует строку с помощью алгоритма SHA1 для получения 40-символьной шестнадцатеричной строки. Это односторонняя хэш-функция, которая может использоваться с солением (добавлением секретной строки) для паролей или обнаружения несанкционированного доступа к параметрам, передаваемым серверу. Если вы вызываете эту функцию из уровня 2, то вы должны удалить возвращаемую строку с помощью agk::DeleteString с помощью DeleteString (), когда закончите с ней.

Определение

char* agk::Sha1( const char* str )

Параметры

str - Строка для хэширования

Пример кода


SetWindowTitle

Описание

Задает заголовок окна для тех платформ, которые работают в окне (например, Windows, Mac).

Определение

void agk::SetWindowTitle( const char *szTitle )

Параметры

szTitle - Текст, используемый для заголовка окна.

Пример кода


SetWindowSize

Описание

Это устанавливает размер окна для платформ, которые его поддерживают, таких как Windows и Mac. Это не повлияет на мобильные устройства. В полноэкранном режиме ширина и высота будут игнорироваться, а разрешение рабочего стола будет использоваться. По умолчанию размер окна будет отрегулирован таким образом, чтобы он всегда помещался на экране, в том числе освобождая место для панели задач в Windows. Это означает, что ваш конечный размер окна может быть немного меньше, чем выбранный вами размер. Вы можете переопределить это, установив параметр allowOverSized равным 1, который удалит все проверки границ и позволит вам создавать окна размером больше текущего экрана. Если параметр fullscreen установлен в 1, то параметр allowOverSized не имеет никакого эффекта.

Определение

void agk::SetWindowSize( int width, int height, int fullscreen, int allowOverSized )
void agk::SetWindowSize( int width, int height, int fullscreen )

Параметры

width - Желаемая ширина окна в пикселях.
height - Желаемая высота окна в пикселях.
fullscreen - 1 для использования полноэкранного режима, 0 для обычного окна.
allowOverSized - 1, чтобы размер окна превышал видимый экран, 0, чтобы уменьшить его до нужного размера

Пример кода


SetWindowPosition

Описание

Это устанавливает положение окна для платформ, которые его поддерживают, таких как Windows и Mac. Если окно в данный момент полноэкранное, то это никак не повлияет. Это не повлияет на мобильные устройства.

Определение

void agk::SetWindowPosition( int x, int y )

Параметры

x - Желаемое положение X окна в пикселях.
y - Желаемое положение Y окна в пикселях.

Пример кода


SetVirtualResolution

Описание

Подход по умолчанию для системы координат в AGK заключается в использовании процентной системы, где 0,0 представляет верхний левый угол, а 100,100-нижний правый. Альтернативный подход заключается в обработке платформы с фиксированным разрешением, например 320 x 480. Любые платформы, которые не соответствуют этому разрешению, будут масштабированы, чтобы максимально соответствовать черным границам, где это необходимо.

Определение

void agk::SetVirtualResolution( int iWidth, int iHeight )

Параметры

iWidth - количество единиц измерения, используемых по ширине области рендеринга
iHeight - количество единиц измерения, используемых по высоте области рендеринга

Пример кода


SetWindowAllowResize

Описание

Это устанавливает окно устанавливает, разрешено ли пользователю изменять размер окна, по умолчанию это значение равно 0

Определение

void agk::SetWindowAllowResize( int mode )

Параметры

mode - 0-отключить изменение размера, 1-разрешить изменение размера

Пример кода


SetViewZoomMode

Описание

Устанавливает режим масштабирования из верхнего левого угла или по центру. По умолчанию вид масштабируется из левого верхнего угла, сохраняя смещение видов в мировых координатах. Например, вид со смещением 20,20 будет сохранять свой верхний левый угол на уровне 20,20 в мировых координатах независимо от того, какое значение масштабирования задано. Однако центрированный зум сохраняет центр вида неподвижным, одновременно масштабируя все остальное вокруг него, что затрудняет оценку значения смещения. В этом режиме верхний левый угол будет находиться только на уровне 20,20, когда значение масштабирования равно 1,0, для других значений масштабирования верхний левый угол будет масштабирован в сторону от точки смещения. Например, предположим, что размер мира составляет 100 100 единиц, уровень масштабирования-1,0, а смещение вида-0,0. Вид будет отображать мировые координаты от 0,0 (в верхнем левом углу) до 100,100 (в нижнем правом углу), со значением масштабирования 2,0 и верхним левым масштабированием вид теперь будет показывать мировые координаты от 0,0 до 50,50 в том же пространстве, что делает все больше. При центрированном масштабировании вид вместо этого будет показывать от 25,25 до 75,75, сохраняя центр вида над точкой 50,50 в мировых координатах.

Определение

void agk::SetViewZoomMode( int mode )

Параметры

mode - 0=вверху слева, 1=по центру

Пример кода


SetViewZoom

Описание

Масштабирование видового экрана относительно окружающего мира, например, масштабирование вида 2.0 удвоит размер всего, что в данный момент находится в поле зрения. Значение 1.0 возвращает все к нормальному размеру. Использование этой команды автоматически отключит четыре физические стены, окружающие экран. Вы также можете зафиксировать спрайты на экране, чтобы они не меняли размер, используя FixSpriteToScreen. Эта команда может масштабироваться либо в направлении верхнего левого угла вида, либо в направлении центра вида, см.

Определение

void agk::SetViewZoom( float zoom )

Параметры

zoom - Уровень масштабирования для прокрутки спрайтов

Пример кода


SetViewOffset

Описание

Смещение видового экрана относительно окружающего мира, например, смещение вида 0,20 переместит экран вниз на 20 пикселей, показывая любой спрайт, который ранее был расположен чуть ниже нижней части экрана. Это может быть полезно для прокрутки игр, где вы хотите переместить вид через уровень. Использование этой команды автоматически отключит четыре физические стены, окружающие экран. Вы также можете закрепить спрайты на экране так, чтобы они двигались вместе с ним, используя FixSpriteToScreen. Значения смещения вида позиционируют верхний левый угол вида в мире, в то время как SetViewZoom определяет, какую часть мира может видеть вид.

Определение

void agk::SetViewOffset( float x, float y )

Параметры

x - Смещение x для вида
y - Смещение y для вида

Пример кода


SetVSync

Описание

Устанавливает, следует ли включать или выключать вертикальную синхронизацию. Это предпочтительный метод ограничения частоты кадров, поскольку он будет связывать частоту кадров с частотой обновления монитора и избегать разрыва или заикания. Использование этой команды с режимом 1 переопределит любую заданную в данный момент частоту обновления из SetSyncRate, в противном случае эти две команды будут бороться друг с другом за контроль частоты кадров, вместо этого AGK будет использовать частоту обновления VSync, которая обычно составляет 60 кадров в секунду, но зависит от монитора. В Linux, Mac и HTML5 вы можете использовать значение больше 1 для пропуска обновлений, например, если частота обновления монитора составляет 60 Гц, то значение режима 1 ограничит приложение до 60 кадров в секунду, но значение режима 2 пропустит каждое другое обновление, которое ограничит приложение до 30 кадров в секунду.

Определение

void agk::SetVSync( int mode )

Параметры

mode - 1, чтобы включить vsync, 0, чтобы выключить его.

Пример кода


SetTransitionMode

Описание

Эта команда устарела, переходы ориентации теперь контролируются устройством.

Определение

void agk::SetTransitionMode( int mode )

Параметры

mode - переходный режим для использования.

Пример кода


SetSyncRate

Описание

Устанавливает желаемую скорость, с которой кадры будут выводиться на экран, в кадрах в секунду (fps). Кроме того, есть два режима на выбор, которые могут ограничить процессор, первый (mode=0) спит приложение между кадрами, чтобы сэкономить процессор и время автономной работы, где это возможно. Второй (mode=1) использует непрерывный цикл для проверки времени перед следующим кадром, который может быть более точным, но перегружает процессор. Предпочтительным методом ограничения частоты кадров является SetVSync (), который устанавливает частоту обновления на частоту обновления монитора и предотвращает разрыв экрана или заикание. Использование SetSyncRate автоматически отключит VSync, так как две команды будут бороться друг с другом за контроль частоты кадров. Используйте fps 0, чтобы удалить все ограничения и нарисовать кадры как можно быстрее. Это может быть до тысячи кадров в секунду на самых мощных видеокартах. Обратите внимание, что в HTML5 использование SetSyncRate крайне не рекомендуется, так как он использует функцию Javascript setTimeout для синхронизации, что может привести к неточной частоте кадров и заиканию. В HTML5 предпочтительным методом управления частотой кадров является SetVSync.

Определение

void agk::SetSyncRate( float fps, int mode )

Параметры

fps - Желаемая частота кадров в кадрах в секунду, 0 для неограниченного числа.
mode - 1 для использования, возможно, более точного, но интенсивного метода работы с процессором, 0 (по умолчанию) для экономии процессора и батареи.

Пример кода


SetSortTransparentDepth

Описание

Задает, должен ли AGK сортировать прозрачные спрайты по глубине при рисовании. Это сначала рисует спрайты в задней части экрана, чтобы достичь правильного результата смешивания, когда прозрачные спрайты перекрываются. Он включен по умолчанию, но если ваши прозрачные спрайты гарантированно не перекрываются, вы можете отключить его, чтобы повысить производительность. Эта команда устарела, сортировка теперь обрабатывается автоматически.

Определение

void agk::SetSortTransparentDepth( int sort )

Параметры

sort - Установите значение 1 для сортировки прозрачных спрайтов по глубине, 0-для отключения прозрачной сортировки.

Пример кода


SetSortTextures

Описание

Задает, должен ли AGK сортировать спрайты по текстуре при рисовании, чтобы ограничить количество изменений текстуры. Это улучшит производительность на устройствах, которые плохо справляются с частыми изменениями состояния, но может снизить производительность, если текстуры на спрайтах часто меняются. По умолчанию он выключен, но если вы не меняете текстуры спрайтов или используете текстуры атласа, рекомендуется включить его. Эта команда устарела, сортировка теперь обрабатывается автоматически.

Определение

void agk::SetSortTextures( int sort )

Параметры

sort - Установите значение 1 для сортировки спрайтов по текстуре. по умолчанию=0

Пример кода


SetSortDepth

Описание

Задает, должен ли AGK сортировать непрозрачные спрайты по глубине при рисовании. Это сначала рисует спрайты в передней части экрана, которые заполняют буфер глубины, так что более поздние спрайты позади могут быть пропущены. Это улучшит производительность на устройствах с ограниченной скоростью заполнения, где вы рисуете много перекрывающихся непрозрачных спрайтов. По умолчанию он выключен, но если вы не часто меняете глубину спрайта, рекомендуется включить его. Это не относится к прозрачным спрайтам, которые имеют свои собственные требования к сортировке. Эта команда устарела, сортировка теперь обрабатывается автоматически.

Определение

void agk::SetSortDepth( int sort )

Параметры

sort - Установите значение 1 для сортировки непрозрачных спрайтов по глубине. по умолчанию=0

Пример кода


SetSortCreated

Описание

Если два спрайта занимают одну и ту же глубину, то порядок их рисования не определен, если только эта функция не установлена в 1, и в этом случае спрайты на одной и той же глубине будут нарисованы в том порядке, в котором они были созданы. Для максимальной производительности рекомендуется, чтобы каждый спрайт имел свое собственное значение глубины с этой командой, установленной в 0. Если порядок их рисования не важен, например, физические спрайты, которые обычно не перекрываются, то вы можете использовать спрайты на одной и той же глубине, не устанавливая эту команду в 1.

Определение

void agk::SetSortCreated( int sort )

Параметры

sort - Установите значение 1, чтобы отсортировать спрайты с одинаковой глубиной по порядку их создания, и 0, чтобы отключить его.

Пример кода


SetSleepMode

Описание

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

Определение

void agk::SetSleepMode( int mode )

Параметры

mode - 1 для включения спящего режима, 0 для его выключения (по умолчанию)

Пример кода


SetScreenResolution

Описание

Устанавливает разрешение заднего буфера там, где это возможно. Если выбранное вами разрешение больше, чем может отображать устройство, чем устройство будет использовать свое максимально возможное разрешение, вы можете использовать GetDeviceWidth и GetDeviceHeight, чтобы узнать, что было использовано. На мобильных устройствах использование разрешения экрана с другим соотношением сторон, чем на устройстве, приведет к растяжению. Вы можете проверить соотношение сторон устройства с помощью GetMaxDeviceWidth и GetMaxDeviceHeight. Не рекомендуется разрешать как портретную, так и альбомную ориентацию при использовании этой команды, так как AGK не может предотвратить растяжение без отмены желаемого разрешения экрана, поэтому он этого не сделает. Если вы хотите, чтобы все ориентации были без растяжения, вам нужно будет следить за изменениями GetMaxDeviceWidth и GetMaxDeviceHeight и установить соответствующее разрешение замены с помощью SetScreenResolution, чтобы оно соответствовало новому соотношению сторон. Использование разрешения 0 в любом направлении приведет к сбросу разрешения экрана до максимального разрешения, поддерживаемого на устройстве. Обратите внимание, что в Windows и Mac размер backbuffer изменяется путем изменения размера окна, поэтому он будет перезаписывать любые настройки из SetWindowSize. Это может быть не так в будущем, и AGK может иметь отдельные размеры окон и размеры backbuffer в будущей версии.

Определение

void agk::SetScreenResolution( int width, int height )

Параметры

width - Желаемая ширина экрана в пикселях.
height - Желаемая высота экрана в пикселях.

Пример кода


SetScissor

Описание

Эта функция задает область экрана, которая будет отображаться в последующих командах Sync() или Render (). Область определяется двумя точками, представляющими верхний левый и нижний правый углы прямоугольника, который будет новой областью рисования. По умолчанию это значение равно вашему виртуальному разрешению, поэтому все, что находится за пределами этого разрешения, не будет видно. Использование SetScissor(0,0,0,0) - это особый случай, который отключит все отсечения и сделает весь экран пригодным для отображения вещей. Это может быть полезно при создании приложения, которое работает с различными соотношениями сторон. Например, использование виртуального разрешения 1024х768 на устройстве с экраном 1280х800 будет соответствовать области 1024х768 как можно ближе в центре экрана, с черными границами по обе стороны. SetScissor(0,0,0,0) помещает область 1024x768 в одно и то же место, но там нет черных границ, поэтому размещение чего-то в отрицательном положении X все равно будет видно до тех пор, пока экран все еще может поместиться. В то время как размещение чего-то в отрицательном положении на устройстве с экраном 1024x768 (который идеально подходит для вашего виртуального разрешения) приведет к тому, что этот элемент исчезнет с края экрана. Вы можете использовать это с помощью команд GetScreenBoundsLeft, GetScreenBoundsRight, GetScreenBoundsTop и GetScreenBoundsBottom, чтобы найти фактический край экрана в выбранном вами разрешении. Это позволяет размещать элементы по краю экрана на всех устройствах независимо от его соотношения сторон.

Определение

void agk::SetScissor( float x, float y, float x2, float y2 )

Параметры

x - x-компонент первой координаты.
y - Компонент y первой координаты.
x2 - x-компонент второй координаты.
y2 - Компонент y второй координаты.

Пример кода


SetResolutionMode

Описание

Некоторые платформы имеют экраны с высоким разрешением, такие как iPad, эта функция определяет, как эти платформы отображают свой контент. У вас есть выбор mode=1, который будет использовать буфер кадров полного разрешения, который будет выглядеть лучше, или mode=0, который будет использовать буфер кадров меньшего разрешения (обычно половинного размера), который затем масштабируется по размеру экрана и будет работать быстрее. Это не влияет на устройства с низким разрешением, которые всегда будут использовать буфер кадров с низким разрешением.

Определение

void agk::SetResolutionMode( int mode )

Параметры

mode - 1 для использования высокого (собственного) разрешения, 0 для использования низкого (масштабированного) разрешения

Пример кода


SetRenderToScreen

Описание

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

Определение

void agk::SetRenderToScreen()

Параметры

Пример кода


SetRenderToImage

Описание

Перенаправляет все будущие вызовы рисования на изображение, а не на экран. Затем указанное изображение может быть применено к объекту или спрайту. Будьте осторожны, чтобы не применять к объекту или спрайту одновременно с его рисованием, так как это может привести к ошибке. Вы также можете выбрать визуализацию информации о глубине для изображения, которое вы можете использовать позже, или визуализацию без буфера глубины, если ваша сцена в нем не нуждается. Вы также можете использовать идентификатор изображения глубины, равный -1, для рендеринга буфера глубины без захвата его в изображение. Обратите внимание, что некоторые устройства (особенно Android) не поддерживают рендеринг глубины изображения, в этих случаях единственными допустимыми значениями идентификатора глубины являются 0 и -1. Вы можете проверить, поддерживает ли текущее устройство текстуры глубины, используя IsSupportedDepthTexture. Рендеринг изображений может быть любого размера, и не обязательно должен быть в степени 2 по ширине или высоте. Для более подробного объяснения, когда вы визуализируете изображение, оно будет рисовать на изображении именно то, что оно нарисовало бы на экране. Например, если ваше виртуальное разрешение составляет 1024x768 и требует границ, то оно будет рисовать границы на изображении рендеринга. Это означает, что если вы посмотрите на полученное изображение рендеринга в его родной форме, например 1024x1024, оно будет выглядеть так, как будто вы взяли окно 1024х768 и растянули его вертикально в квадрат. В результате, если вы возьмете это квадратное изображение и растянете его обратно в 1024х768, текстурируя спрайт или квадроцикл размером 1024х768, то оно снова будет выглядеть нормально. Это означает, что вы можете визуализировать окно 1024x768 в изображение любого размера, скажем 64x512, и растянуть его до 1024x768, и оно должно выглядеть правильно с точки зрения соотношения сторон, конечно, в нем будут отсутствовать некоторые детали. Затем вы можете получить более продвинутый результат, изменив виртуальное разрешение после установки изображения рендеринга и изменив его обратно при рендеринге на экран, или используя SetCameraAspect для изменения соотношения сторон 3D, если изображение рендеринга будет использоваться для чего-то другого, чем представление экрана 1:1. При рендеринге изображения очень важно, чтобы изображение было очищено с помощью ClearScreen (), прежде чем рисовать на нем новую сцену. Это делается для того, чтобы графический процессор знал, что он может отбросить предыдущее содержимое. Если изображение не очищается и вещи продолжают притягиваться к нему, то производительность некоторых графических процессоров со временем ухудшится.

Определение

void agk::SetRenderToImage( int colorImage, int depthImage )

Параметры

colorImage - Идентификатор изображения, которое будет использоваться в качестве цветового буфера, 0, чтобы не отображать цвет
depthImage - Идентификатор изображения, используемого в качестве буфера глубины, 0-чтобы не отображать глубину, -1-чтобы использовать буфер глубины без изображения

Пример кода


SetRandomSeed2

Описание

Задает начальное значение для генератора случайных чисел. Два приложения AGK, использующие одно и то же начальное значение, будут генерировать одну и ту же последовательность случайных чисел. По умолчанию начальное значение устанавливается на текущее время при запуске, так что каждый запуск приложения будет генерировать другую последовательность чисел.

Определение

void agk::SetRandomSeed2( UINT seed )

Параметры

seed - Начальное значение, между 1 и 2^32

Пример кода


SetRandomSeed

Описание

Задает начальное значение для генератора случайных чисел. Два приложения AGK, использующие одно и то же начальное значение, будут генерировать одну и ту же последовательность случайных чисел. По умолчанию начальное значение устанавливается на текущее время при запуске, так что каждый запуск приложения будет генерировать другую последовательность чисел.

Определение

void agk::SetRandomSeed( UINT seed )

Параметры

seed - Начальное значение, между 1 и 2^32

Пример кода


SetOrientationAllowed

Описание

Устанавливает, в какую ориентацию AGK позволит вращаться приложению. Есть две портретные и две пейзажные ориентации, одна для правильного пути вверх, а другая для перевернутого. На платформах, которые не могут вращаться, таких как Windows или Mac, эта команда не имеет никакого эффекта, и приложение всегда будет нарисовано правильно. Значение 1 для каждой ориентации будет определять, будет ли приложение вращаться, когда устройство удерживается в этой ориентации. Значение 0 сохранит приложение в его последней допустимой ориентации. Обратите внимание, что если устройство в данный момент находится в запрещенной ориентации, то AGK попытается повернуть устройство в разрешенную ориентацию, однако это не гарантируется немедленно. Так, например, если вам нужно, чтобы устройство находилось в ландшафтном режиме, и вы вызываете эту команду с разрешенным только ландшафтным режимом, вам следует дождаться, пока GetDeviceWidth вернет больше, чем GetDeviceHeight, что будет сигнализировать о том, что устройство теперь находится в ландшафтном режиме.

Определение

void agk::SetOrientationAllowed( int portrait, int portrait2, int landscape, int landscape2 )

Параметры

portrait - Ориентация устройства по умолчанию.
portrait2 - Перевернутая портретная ориентация.
landscape - Альбомная ориентация при повороте устройства влево от его положения по умолчанию.
landscape2 - Альбомная ориентация при повороте устройства вправо от его положения по умолчанию.

Пример кода


SetIntendedDeviceSize

Описание

Устанавливает размер устройства, для которого вы разработали все свои произведения искусства, это позволяет AGK уменьшить размер изображений, чтобы сэкономить память на устройствах с более низким разрешением. Обратите внимание, что такие команды, как SetSpriteAnimation, которые могут предполагать размеры изображений, должны учитывать уменьшенные изображения. Например, загрузка изображения 512x512 и использование SetSpriteAnimation(spr,128,128,16) должны вместо этого использовать SetSpriteAnimation(spr,GetImageWidth(img)/4,GetImageHeight(img)/4,16) в случае, если изображение больше не имеет размера 512. Эта команда устарела, и вы должны использовать LoadImageResized для настройки размеров изображений в зависимости от разрешения устройства, вы можете проверить разрешение устройства с помощью GetDeviceWidth и GetDeviceHeight.

Определение

void agk::SetIntendedDeviceSize( int width, int height )

Параметры

width - Предполагаемая ширина
height - Предполагаемая высота

Пример кода


SetImmersiveMode

Описание

Удаляет все экранные элементы управления, которые могли быть размещены на экране операционной системой, например кнопки Домой и Назад, позволяя вашему приложению использовать весь экран. Ваше приложение может быть изменено после вызова этой команды, поэтому, если вы использовали GetDeviceWidth или GetDeviceHeight, вам следует подождать несколько кадров, а затем вызвать их снова, чтобы получить новые значения. Значения могут измениться не сразу после вызова этой команды, так как для изменения навигационной панели требуется некоторое время. Иногда ОС отключает иммерсивный режим без предупреждения, например, при нажатии кнопок регулировки громкости. Когда это произойдет, ваше приложение вернется к своему размеру без погружения в режим, чтобы предотвратить скрытие любой части приложения навигационной панелью, что может сделать некоторые части приложения недоступными для сенсорных событий. Вы можете обнаружить это изменение, регулярно проверяя GetDeviceWidth и GetDeviceHeight, и снова использовать SetImmersiveMode, чтобы запросить возврат в режим погружения. В настоящее время это относится только к устройствам Android под управлением версии 4.4 (API 19) или выше. На других платформах эта команда ничего не делает.

Определение

void agk::SetImmersiveMode( int mode )

Параметры

mode - 1, чтобы включить иммерсивный режим, 0, чтобы выключить его

Пример кода


SetGenerateMipmaps

Описание

Устанавливает, генерируются ли и используются ли загруженные изображения с mip-картами. Должен быть вызван до того, как будут загружены какие-либо изображения. Может быть изменено до загрузки другого изображения, чтобы некоторые использовали mip-карты, а другие-нет.

Определение

void agk::SetGenerateMipmaps( int generate )

Параметры

generate - Установите значение 1 для создания mip-карт (по умолчанию 0)

Пример кода


SetExpansionFileVersion

Описание

Задает номер версии для использования в других командах расширения файла. В настоящее время применимо только к Android. Номер версии файла расширения определяется номером версии APK, который был загружен вместе с ним. Например, APK может быть обновлен до нового номера версии, но файл расширения все равно может быть исходным номером версии.

Определение

void agk::SetExpansionFileVersion(int version)

Параметры

version - Номер версии, используемый при проверке и загрузке файла расширения.

Пример кода


SetExpansionFileKey

Описание

Задает открытый ключ для использования в других командах расширения файла. В настоящее время применимо только к Android. Открытый ключ можно найти в консоли разработчика Google Play и он отличается для каждого приложения. Нажмите на приложение, а затем нажмите на раздел Служб и API, это длинная строка, которая начинается MIIB.

Определение

void agk::SetExpansionFileKey( const char *key )

Параметры

key - Открытый ключ, используемый при проверке и загрузке файла расширения.

Пример кода


SetDisplayAspect

Описание

Эта команда используется в сочетании с системой позиционирования по умолчанию на основе процентов в AGK. При использовании этого подхода вам нужно будет указать аспект отображения, чтобы AGK знал, как правильно отображать объекты на экране. Если бы ваше произведение изначально было рассчитано на разрешение 1024 x 768, это привело бы к соотношению сторон 4:3, что также равносильно утверждению 1024 / 768 = 1.33, поэтому вы бы вызвали SetDisplayAspect и передали бы значение 1.33 в качестве вашего соотношения сторон. На платформах, где разрешение было другим, AGK позаботится о том, чтобы ваше приложение все еще поддерживало это соотношение сторон и выглядело правильно. Альтернативный подход заключается в вызове SetVirtualResolution для управления системой координат и размещения спрайтов с использованием экранных координат вместо использования процентов, и в этом случае вы не должны вызывать эту команду. Если спрайты уже существуют, когда это называется, они будут искажены. Если заданное соотношение сторон не подходит точно на текущем устройстве, черные границы будут нарисованы вокруг области рендеринга, чтобы центрировать ее на экране. Используйте соотношение сторон 0, чтобы использовать текущую систему координат в качестве соотношения сторон. Используйте соотношение сторон -1 для использования соотношения сторон устройства (заполняет весь экран без черных границ, но вызовет растяжение и будет выглядеть по-разному на каждом устройстве) Альтернативным методом заполнения экрана, который позволяет избежать этой проблемы, является использование SetScissor со значениями 0,0,0,0.

Определение

void agk::SetDisplayAspect( float aspect )

Параметры

aspect - соотношение сторон, которое будет использоваться с этого момента, в виде ширины/высоты.

Пример кода


SetDefaultWrapV

Описание

Устанавливает текстурное обертывание по умолчанию для изображений, где координаты UV выходят за пределы диапазона от 0 до 1 в направлении V.

Определение

void agk::SetDefaultWrapV( UINT mode )

Параметры

mode - Режим обертывания для использования 0=зажим, 1=повторение

Пример кода


SetDefaultWrapU

Описание

Устанавливает текстурное обертывание по умолчанию для изображений, где координаты UV выходят за пределы диапазона от 0 до 1 в направлении U.

Определение

void agk::SetDefaultWrapU( UINT mode )

Параметры

mode - Режим обертывания для использования 0=зажим, 1=повторение

Пример кода


SetDefaultMinFilter

Описание

Устанавливает фильтр минификации по умолчанию для текстур, когда текстура меньше пространства экрана, в котором она отображается. Вы можете использовать режим 0, чтобы использовать ближайший пиксель, который будет выглядеть блочным, или 1, чтобы использовать линейный фильтр, который будет выглядеть размытым. Когда изображение точно совпадает с пространством экрана, то оба фильтра будут выглядеть одинаково, когда есть небольшая разница, ближайший имеет тенденцию быть более резким, но может мерцать, когда он меняет выбор пикселей. Вы можете установить это значение для каждого изображения с помощью SetImageMinFilter.

Определение

void agk::SetDefaultMinFilter( UINT filter )

Параметры

filter - Режим фильтра для использования 0=ближайший, 1=линейный

Пример кода


SetDefaultMagFilter

Описание

Устанавливает фильтр увеличения по умолчанию для текстур, когда текстура больше, чем пространство экрана, в котором она отображается. Вы можете использовать режим 0, чтобы использовать ближайший пиксель, который будет выглядеть блочным, или 1, чтобы использовать линейный фильтр, который будет выглядеть размытым. Когда изображение точно совпадает с пространством экрана, то оба фильтра будут выглядеть одинаково, когда есть небольшая разница, ближайший имеет тенденцию быть более резким, но может мерцать, когда он меняет выбор пикселей. Вы можете установить это значение для каждого изображения с помощью SetImageMagFilter.

Определение

void agk::SetDefaultMagFilter( UINT filter )

Параметры

filter - Режим фильтра для использования 0=ближайший, 1=линейный

Пример кода


SetClearColor

Описание

Устанавливает четкий цвет, используемый при очистке заднего буфера.

Определение

void agk::SetClearColor( UINT red, UINT green, UINT blue )

Параметры

red - Красный компонент ясного цвета
green - Зеленая составляющая прозрачного цвета
blue - Синий компонент прозрачного цвета

Пример кода


SetBorderColor

Описание

Устанавливает цвет или любые границы, используемые, когда дисплей не точно соответствует соотношению сторон. Если этот цвет отличается от цвета clear, то выполняется дополнительная операция clear, которая может повлиять на производительность, если скорость заполнения является проблемой.

Определение

void agk::SetBorderColor( UINT red, UINT green, UINT blue )

Параметры

red - Красная составляющая цвета границы
green - Зеленая составляющая цвета границы
blue - Синий компонент цвета границы

Пример кода


SetAntialiasMode

Описание

Задает, должно ли устройство использовать сглаживание при рендеринге в задний буфер. В настоящее время это относится только к Windows, Mac и Linux, и доступна только 4-кратная множественная выборка. Это не относится ни к каким объектам, нарисованным на изображении с помощью SetRenderToImage, только задний буфер сглажен.

Определение

void agk::SetAntialiasMode( int mode )

Параметры

mode - 0=выкл., 1=4xMSAA

Пример кода


ScreenToWorldY

Описание

Преобразует координату Y экрана в мировую координату Y на основе текущего смещения и масштабирования вида. Когда SetViewOffset равен 0,0, а SetViewZoom равен 1,0, координаты мира и экрана совпадают. Например, когда вид смещен на 20 пикселей вниз, ввод при 0,0 на экране будет выглядеть 0,20 в мире.

Определение

float agk::ScreenToWorldY( float y )

Параметры

y - Экран Y-координата для преобразования.

Пример кода


ScreenToWorldX

Описание

Преобразует координату X экрана в мировую координату X на основе текущего смещения и масштабирования вида. Когда SetViewOffset равен 0,0, а SetViewZoom равен 1,0, координаты мира и экрана совпадают. Например, когда вид смещен на 20 пикселей вправо, ввод при 0,0 на экране появится 20,0 в мире.

Определение

float agk::ScreenToWorldX( float x )

Параметры

x - Экран X координата для преобразования.

Пример кода


ScreenFPS

Описание

Возвращает среднее значение кадров в секунду на основе времени рендеринга последних нескольких кадров. Чтобы получить точное время, затраченное на последний кадр, вы можете вызвать GetFrameTime.

Определение

float agk::ScreenFPS()

Параметры

Пример кода


Round

Описание

Округляет float до ближайшего целого числа (положительного или отрицательного).

Определение

int agk::Round( float a )

Параметры

a - Значение округлить.

Пример кода


RunApp

Описание

Запускает внешний исполняемый файл, который не зависит от этого приложения. Он вернет идентификатор, который вы можете использовать, чтобы проверить, работает ли приложение по-прежнему или, в крайнем случае, завершить его работу. Если это не удастся, он вернет 0. В настоящее время работает только на Windows, Mac, Linux и Raspberry Pi.

Определение

UINT agk::RunApp( const char *szFilename, const char *szParameters )

Параметры

szFilename - Имя файла нового приложения, доступ к которому осуществляется так же, как и к любому другому файлу в AGK
szParameters - Необязательные параметры командной строки для передачи в приложение или пустая строка

Пример кода


Описание

Обрезает заданную строку, сохраняя наибольшее количество символов справа до заданного значения счетчика.

Определение

char* agk::Right( const char* strin, UINT count )

Параметры

strin - Строка, которую нужно обрезать
count - Количество символов, которые нужно сохранить

Пример кода


RestoreApp

Описание

Восстанавливает приложение из свернутого состояния в нормальное окно.

Определение

void agk::RestoreApp()

Параметры

Пример кода


ResetTimer

Описание

Сбрасывает время, возвращенное таймером, на 0. Это позволяет восстановить полную точность после того, как ваше приложение работает в течение некоторого времени. Это также сбрасывает значения, возвращаемые getSeconds и GetMilliseconds, на 0.

Определение

void agk::ResetTimer()

Параметры

Пример кода


RenderShadowMap

Описание

Звонил автоматически. Это расширенная команда для управления конвейером рендеринга. Обычно Render вызывает Render2DBack, RenderShadowMap, Render3D, Render2DFront, чтобы нарисовать все в мире. Эта команда вычисляет только карту теней.

Определение

void agk::RenderShadowMap( )

Параметры

Пример кода


ReplaceString

Описание

Возвращает строку со всеми экземплярами find, замененными на replace. Вы можете использовать параметр qty для ограничения количества сделанных замен или использовать -1 для ограничения без ограничений. Исходная строка не изменяется, и возвращается новая строка с заменами в ней. Обратите внимание, что если вы вызываете эту команду из уровня 2, то возвращаемая строка должна быть удалена, когда вы закончите с ней.

Определение

char* agk::ReplaceString( const char* str, const char* find, const char* replace, int qty )

Параметры

str - Строка для изменения
find - Строка, которую нужно найти
replace - Строка, чтобы заменить его на
qty - Максимальное количество замен, которые нужно сделать, используйте минус 1 без ограничений

Пример кода


Render2DFront

Описание

Звонил автоматически. Это расширенная команда для управления конвейером рендеринга. Обычно Render вызывает Render2DBack, ClearDepthBuffer, Render3D, ClearDepthBuffer, Render2DFront, чтобы нарисовать все в мире. Эта команда рисует только 2D-спрайты и текст, которые находятся перед 3D.

Определение

void agk::Render2DFront( )

Параметры

Пример кода


Render3D

Описание

Звонил автоматически. Это расширенная команда для управления конвейером рендеринга. Обычно Render вызывает Render2DBack, RenderShadowMap, Render3D, Render2DFront, чтобы нарисовать все в мире. Эта команда рисует только 3D-объекты.

Определение

void agk::Render3D( )

Параметры

Пример кода


Render2DBack

Описание

Звонил автоматически. Это расширенная команда для управления конвейером рендеринга. Обычно Render вызывает Render2DBack, ClearDepthBuffer, Render3D, ClearDepthBuffer, Render2DFront, чтобы нарисовать все в мире. Эта команда рисует только 2D-спрайты и текст, которые находятся за 3D.

Определение

void agk::Render2DBack( )

Параметры

Пример кода


Render

Описание

Рисует все 2D и 3D, созданные с использованием идентификационного номера, в текущий буфер кадров. Он не переключает backbuffer на экран. Он не рисует спрайты или объекты, созданные вами с помощью указателей, вам придется либо рисовать их по отдельности, либо назначать их менеджеру спрайтов для пакетного рисования. В этом случае Рендеринг все равно должен быть вызван, так как он также рисует печатный текст. Вызываемый автоматически Sync, вы можете использовать Sync или Update(), Render(), Swap() для ручной синхронизации. Если вы хотите иметь больше контроля, вы можете разбить это дальше и заменить Рендеринг на Render2DBack, ClearDepthBuffer, Render3D, ClearDepthBuffer, Render2DFront

Определение

void agk::Render()

Параметры

Пример кода


Random2

Описание

Генерирует случайное число на основе текущего начального значения. Генератор случайных чисел встроен в AGK, поэтому определенное начальное значение будет производить одну и ту же последовательность чисел на каждой платформе. Производит случайное число между -2,147,483,648 и 2,147,483,647. Этот генератор работает медленнее, чем Случайный, но производит более качественную случайность в большем диапазоне значений.

Определение

int agk::Random2( )
int agk::Random2( int from, int to )

Параметры

from - Самое низкое значение для возврата
to - Самое высокое значение для возврата

Пример кода


RandomSign

Описание

Будет случайным образом отрицать данное значение и возвращать его. Имеет 50-50 шансов на отрицание ценности. Начальное значение может быть отрицательным, и в этом случае оно случайно станет положительным.

Определение

int agk::RandomSign( int value )

Параметры

value - Значение, которое нужно изменить.

Пример кода


Random

Описание

Генерирует случайное число на основе текущего начального значения. Генератор случайных чисел встроен в AGK, поэтому определенное начальное значение будет производить одну и ту же последовательность чисел на каждой платформе. Производит случайное число от 0 до 65535

Определение

UINT agk::Random( )
UINT agk::Random( UINT from, UINT to )

Параметры

from - Самое низкое значение для возврата
to - Самое высокое значение для возврата

Пример кода


Pow

Описание

Возвращает a, возведенное в степень b.

Определение

float agk::Pow( float a, float b )

Параметры

a - База.
b - Сила.

Пример кода


Mod

Описание

Возвращает остаток от целочисленного деления a/b.

Определение

int agk::Mod( int a, int b )

Параметры

a - Числитель.
b - Знаменатель.

Пример кода


MinimizeApp

Описание

Отправляет приложение в фоновый режим. На настольных платформах, таких как Windows, приложение будет продолжать работать, когда оно свернуто. На Android приложение будет приостановлено. На iOS он ничего не сделает, так как пользователь должен свернуть приложение, нажав кнопку home. На настольных платформах окно можно восстановить с помощью RestoreApp.

Определение

void agk::MinimizeApp()

Параметры

Пример кода


Mid

Описание

Извлекает подстроку из заданной строки, расположенной в указанной позиции.

Определение

char* agk::Mid( const char* strin, UINT position, int length )

Параметры

strin - Строка, из которой нужно извлечь
position - Позиция, которая начинается в строке, первый символ-это позиция 1.
length - Количество символов, извлекаемых из строки, используйте минус 1, чтобы продолжить до конца строки

Пример кода


Message

Описание

Отображает окно сообщения, содержащее заданный текст. Ваше приложение не гарантированно приостановится во время отображения сообщения.

Определение

void agk::Message( const char* msg )

Параметры

msg - Сообщение для отображения

Пример кода


MaximizeWindow

Описание

Максимизирует окно таким образом, чтобы оно было максимально возможным размером в текущем видимом пространстве без перехода на полный экран. Ничего не делает на мобильных устройствах.

Определение

void agk::MaximizeWindow()

Параметры

Пример кода


MakeColor

Описание

Создает составное значение цвета из цветовых компонентов, которое затем можно использовать с командами 2D-рисования.

Определение

UINT agk::MakeColor( UINT red, UINT green, UINT blue )

Параметры

red - Красная составляющая цвета.
green - Зеленая составляющая цвета.
blue - Синяя составляющая цвета.

Пример кода


Lower

Описание

Преобразует строку в символы нижнего регистра.

Определение

char* agk::Lower( const char* strin )

Параметры

strin - Строка для преобразования

Пример кода


Log

Описание

Отображает указанный текст в соответствующем окне журнала устройства или вывода.

Определение

void agk::Log( const char *szMessage )

Параметры

szMessage - текстовое сообщение для отправки в область журнала/вывода

Пример кода


Log

Описание

Возвращает натуральный логарифм заданного значения.

Определение

float agk::Log( float a )

Параметры

a - Входное значение

Пример кода


Len

Описание

Возвращает количество символов в данной строке. Обратите внимание, что для строк, закодированных в UTF-8, это может быть не равно количеству байтов в строке, так как каждый символ может использовать до 4 байт. Для определения длины в байтах используйте команду ByteLen.

Определение

UINT agk::Len( const char* strin )

Параметры

strin - Строка для измерения длины

Пример кода


Left

Описание

Обрезает заданную строку, сохраняя наибольшее количество символов слева до заданного значения счетчика.

Определение

char* agk::Left( const char* strin, UINT count )

Параметры

strin - Строка, которую нужно обрезать
count - Количество символов, которые нужно сохранить

Пример кода


IsSupportedDepthTexture

Описание

Эта команда возвращает 1, если текущее устройство поддерживает использование изображений глубины с помощью SetRenderToImage. Если это возвращает 0, то единственными допустимыми идентификаторами изображения глубины для SetRenderToImage являются 0 для отсутствия глубины или -1 для нормального буфера глубины.

Определение

UINT agk::IsSupportedDepthTexture()

Параметры

Пример кода


HexToBase64

Описание

Преобразует шестнадцатеричную строку в строку Base64. Шестнадцатеричная строка-это строка, содержащая только символы 0-9 и A-F. Если вы вызываете эту команду из уровня 2, эта строка должна быть удалена, когда вы закончите с ней.

Определение

char* agk::HexToBase64( const char* input )

Параметры

input - Строка для преобразования

Пример кода


Hex

Описание

Преобразует целочисленное значение в строку, содержащую его шестнадцатеричное представление. Например, Hex(31) вернет строку, содержащую 1F. Если вы вызываете эту команду из уровня 2, эта строка должна быть удалена, когда вы закончите с ней.

Определение

char* agk::Hex( int i )

Параметры

i - Целочисленное значение для преобразования в шестнадцатеричную строку

Пример кода


GetWindowHeight

Описание

Возвращает высоту окна текущего устройства. Это значение может отличаться от GetDeviceHeight, если размер окна не соответствует размеру пикселя backbuffer, который используется для рисования окна. Например, на Mac с дисплеем Retina размер окна будет равен половине размера пикселя.

Определение

int agk::GetWindowHeight()

Параметры

Пример кода


GetWindowWidth

Описание

Возвращает ширину окна текущего устройства. Это значение может отличаться от GetDeviceWidth, если размер окна не соответствует размеру пикселя backbuffer, который используется для рисования окна. Например, на Mac с дисплеем Retina размер окна будет равен половине размера пикселя.

Определение

int agk::GetWindowWidth()

Параметры

Пример кода


GetVirtualWidth

Описание

Возвращает координату для крайней правой части экрана. В системе координат, основанной на процентах по умолчанию, это 100. Если вы настроили виртуальное разрешение с помощью SetVirtualResolution, то будет возвращена указанная здесь ширина.

Определение

int agk::GetVirtualWidth()

Параметры

Пример кода


GetVirtualHeight

Описание

Возвращает координату для нижней части экрана. В системе координат, основанной на процентах по умолчанию, это 100. Если вы настроили виртуальное разрешение с помощью SetVirtualResolution, то будет возвращена указанная здесь высота.

Определение

int agk::GetVirtualHeight()

Параметры

Пример кода


GetViewZoom

Описание

Возвращает текущий уровень масштабирования прокрутки, установленный с помощью SetViewZoom.

Определение

float agk::GetViewZoom()

Параметры

Пример кода


GetViewOffsetY

Описание

Возвращает текущее смещение вида в направлении Y, заданное с помощью SetViewOffset.

Определение

float agk::GetViewOffsetY()

Параметры

Пример кода


GetViewOffsetX

Описание

Возвращает текущее смещение вида в направлении X, заданное с помощью SetViewOffset.

Определение

float agk::GetViewOffsetX()

Параметры

Пример кода


GetVerticesProcessed

Описание

Возвращает количество вершин, обработанных последним кадром графического процессора.

Определение

UINT agk::GetVerticesProcessed()

Параметры

Пример кода


GetURLSchemeText

Описание

На Android и iOS это возвращает полный URL-адрес, который был использован для открытия этого приложения, если использовалась схема URL-адресов. Например, если вы установили схему URL-адресов myapp для этого приложения и пользователь нажимает на ссылку типа myapp: sometext, то ОС откроет ваше приложение, а GetURLSchemeText будет возвращать myapp: sometext до тех пор, пока приложение не будет открыто в следующий раз. Если URL - адрес не был использован для открытия приложения или платформа не поддерживает схемы URL-адресов, то будет возвращена пустая строка. При выборе схемы URL-адресов вы должны убедиться, что она уникальна для вашего приложения, так как iOS не позволит двум приложениям иметь одну и ту же схему.

Определение

char* agk::GetURLSchemeText()

Параметры

Пример кода


GetStringToken2

Описание

Возвращает определенный токен из строки, разделенной заданным разделителем, например строка, содержащая first:second:third, имеет три токена, разделенных :. Аналогично GetStringToken, за исключением того, что эта команда принимает только один символ в качестве разделителя и распознает пустые поля. Например, first:second::fourth имеет четыре токена, а третий-пустую строку. В tier 2 возвращаемая строка должна быть удалена, когда вы закончите с ней. Вы можете использовать CountStringTokens2 для подсчета количества токенов в строке.

Определение

char* agk::GetStringToken2( const char* str, const char* delimiter, int token )

Параметры

str - Строка для проверки.
delimiter - Символ, разделяющий строку.
token - индекс возвращаемого токена, начинающийся с 1 для первого токена.

Пример кода


GetStringToken

Описание

Возвращает определенный токен из строки, разделенной заданными разделителями, например строка, содержащая first:second:third, имеет три токена, разделенных : и first:second;third, имеет три токена, разделенных разделителями :;. Вы можете иметь несколько разделителей между каждым токеном, например first:;second:third является допустимым и имеет три токена. В tier 2 возвращаемая строка должна быть удалена, когда вы закончите с ней. Вы можете использовать CountStringTokens для подсчета количества токенов в строке. Эта команда полезна для разделения слов в предложении, которое может быть разделено как пробелом, так и пунктуацией.

Определение

char* agk::GetStringToken( const char* str, const char* delimiters, int token )

Параметры

str - Строка для проверки.
delimiters - Набор символов, разделяющих строку.
token - индекс возвращаемого токена, начинающийся с 1 для первого токена.

Пример кода


GetStorageTotal

Описание

Возвращает общее количество МБ хранения данных по указанному пути, использованных и неиспользуемых. Например, использование пути, указывающего на местоположение на SD-карте на Android, вернет размер sd-карты, в то время как использование пути, указывающего на папку записи AGK, вернет количество МБ во внутреннем хранилище. В некоторых случаях это может быть одно и то же. Эта команда возвращает значение -1, если размер хранилища не может быть определен. В настоящее время реализовано только на iOS и Android, другие платформы вернут -1.

Определение

int agk::GetStorageTotal( const char *path )

Параметры

path - Путь для проверки

Пример кода


GetStorageRemaining

Описание

Возвращает количество МБ, доступных приложению для хранения данных по указанному пути. Например, использование пути, указывающего на местоположение на SD-карте Android, вернет, сколько МБ может быть сохранено там, в то время как использование пути, указывающего на папку записи AGK, вернет количество МБ, которое приложение может хранить в своем внутреннем хранилище. В некоторых случаях это может быть одно и то же. Эта команда возвращает -1, если доступное пространство не может быть определено. В настоящее время реализовано только на iOS и Android, другие платформы вернут -1.

Определение

int agk::GetStorageRemaining( const char *path )

Параметры

path - Путь для проверки

Пример кода


GetShadowPolygonsDrawn

Описание

Возвращает количество полигонов, нарисованных последним кадром графического процессора при построении теневых карт.

Определение

UINT agk::GetShadowPolygonsDrawn()

Параметры

Пример кода


GetSeconds

Описание

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

Определение

int agk::GetSeconds()

Параметры

Пример кода


GetScreenBoundsTop

Описание

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

Определение

float agk::GetScreenBoundsTop()

Параметры

Пример кода


GetScreenBoundsRight

Описание

Возвращает правый край видимого экрана. Это включает в себя любую область черной границы, поэтому, если есть черные границы слева и справа от дисплея, то это значение будет больше, чем GetVirtualWidth. Это означает, что виртуальная ширина-это конец видимой области и начало черной границы, а правая граница - это конец черной границы и край экрана. Если справа нет черной границы, то правая граница всегда будет равна GetVirtualWidth.

Определение

float agk::GetScreenBoundsRight()

Параметры

Пример кода


GetScreenBoundsLeft

Описание

Возвращает левый край видимого экрана. Это включает в себя любую область черной границы, поэтому, если есть черные границы слева и справа от дисплея, то это значение будет отрицательным. Это означает, что 0-это конец видимой области и начало черной границы, а левая граница - это конец черной границы и край экрана. Если слева нет черной границы, то левая граница всегда будет равна 0.

Определение

float agk::GetScreenBoundsLeft()

Параметры

Пример кода


GetScreenBoundsBottom

Описание

Возвращает нижний край видимого экрана. Это включает в себя любую область черной границы, поэтому, если есть черные границы в верхней и нижней части дисплея, то это значение будет больше, чем GetVirtualHeight. Это означает, что виртуальная высота является концом видимой области и началом черной границы, а нижняя граница-концом черной границы и краем экрана. Если внизу нет черной границы, то нижняя граница всегда будет равна GetVirtualHeight.

Определение

float agk::GetScreenBoundsBottom()

Параметры

Пример кода


GetResumed

Описание

Возвращает 1, если ваше приложение было передано в фоновый режим и только что было повторно активировано. Когда это произойдет, вы должны активировать экран паузы. На мобильных платформах приложения не будут работать, пока они находятся в фоновом режиме, так что первый шанс, что ваше приложение получит это уведомление, - это когда оно вернется из фонового режима и продолжит работу. Поскольку пользователь, возможно, еще не готов продолжить воспроизведение, вы должны проверить это значение и показать экран паузы до тех пор, пока он не будет готов.

Определение

int agk::GetResumed()

Параметры

Пример кода


GetRendererName

Описание

Возвращает имя текущего средства визуализации, например OpenGL или OpenGLES

Определение

char* agk::GetRendererName()

Параметры

Пример кода


GetPolygonsDrawn

Описание

Возвращает количество полигонов, нарисованных последним кадром графического процессора.

Определение

UINT agk::GetPolygonsDrawn()

Параметры

Пример кода


GetPaused

Описание

Возвращает 1, если ваше настольное приложение теряет фокус. Вы можете активировать экран паузы, когда это произойдет, или позволить приложению продолжать работать в обычном режиме. Это относится только к настольным платформам, на мобильных платформах вы должны использовать GetResumed вместо этого.

Определение

int agk::GetPaused()

Параметры

Пример кода


GetOrientation

Описание

Возвращает текущую ориентацию устройства. Возвращаемые значения: 1 = портретный режим, 2 = портретный режим - поворот на 180 градусов, 3 = ландшафтный режим - 90 градусов против часовой стрелки, 4 = ландшафтный режим - 90 градусов по часовой стрелке

Определение

int agk::GetOrientation()

Параметры

Пример кода


GetNumProcessors

Описание

Возвращает количество ядер логического процессора на устройстве

Определение

int agk::GetNumProcessors()

Параметры

Пример кода


GetMilliseconds

Описание

Получите количество миллисекунд с момента запуска приложения. Вызов этой команды внутренне вызовет системный вызов, чтобы получить количество прошедшего времени, поэтому он может меняться каждый раз, когда вы его вызываете.

Определение

UINT agk::GetMilliseconds()

Параметры

Пример кода


GetMaxDeviceHeight

Описание

Получает максимальную высоту, которую может иметь окно вашего приложения. Для платформ, поддерживающих оконный режим, таких как Windows и Mac, ваше приложение может достичь такого размера только в полноэкранном режиме, поскольку оконный режим имеет границу вокруг вашего приложения. Для приложений HTML5 это вернет размер текущего HTML-документа и не гарантирует работу, если приложение HTML5 работает в полноэкранном режиме. Лучшим названием для этой команды было бы GetMaxWindowHeight, но теперь она высечена в камне.

Определение

int agk::GetMaxDeviceHeight()

Параметры

Пример кода


GetMaxDeviceWidth

Описание

Получает максимальную ширину окна вашего приложения. Для платформ, поддерживающих оконный режим, таких как Windows и Mac, ваше приложение может достичь такого размера только в полноэкранном режиме, поскольку оконный режим имеет границу вокруг вашего приложения. Для приложений HTML5 это вернет размер текущего HTML-документа и не гарантирует работу, если приложение HTML5 работает в полноэкранном режиме. Лучшим названием для этой команды было бы GetMaxWindowWidth, но теперь она высечена в камне.

Определение

int agk::GetMaxDeviceWidth()

Параметры

Пример кода


GetFrameTime

Описание

Получите время в секундах, потраченное на обработку и рендеринг последнего кадра. Обновляется только при вызове Sync или Swap. Это ограничение ограничено максимальным значением 0,2 секунды, чтобы предотвратить интерполяцию внутреннего кода на основе таймера с большими временными промежутками. Чтобы найти истинное время кадра, вы можете использовать команду Timer ().

Определение

float agk::GetFrameTime()

Параметры

Пример кода


GetExpansionFileState

Описание

Возвращает состояние любого файла расширения, используемого этой платформой, в настоящее время применимого только к Android. Возвращает -1, если во время загрузки произошла ошибка, 0, если файл расширения не используется на этой платформе, 1, если он должен существовать, но не существует (в этом случае вы вызываете функцию DownloadExpansionFile ()), 2, если он в данный момент загружается, и 3, если все завершено и файл существует.

Определение

int agk::GetExpansionFileState()

Параметры

Пример кода


GetExpansionFileProgress

Описание

Проверяет ход загрузки, начатой с помощью DownloadExpansionFile, возвращает плавающее значение от 0 до 100 Используйте GetExpansionFileState, чтобы проверить, завершена ли загрузка.

Определение

float agk::GetExpansionFileProgress()

Параметры

Пример кода


GetExpansionFileError

Описание

Возвращает код ошибки самой последней ошибки, возникшей при загрузке файла расширения. Возможные ошибки включают в себя: 15 = Нелицензированный 16 = Неудачная выборка URL-адреса 17 = Полная SD-карта 18 = Отменена 19 = Неизвестная ошибка

Определение

int agk::GetExpansionFileError()

Параметры

Пример кода


GetDisplayAspect

Описание

Возвращает текущее соотношение сторон экрана. Это не соотношение сторон используемой системы координат, вместо этого это значение растягивает систему координат в нужную форму. Объяснение системы координат см. в разделе SetVirtualResolution.

Определение

float agk::GetDisplayAspect()

Параметры

Пример кода


GetDevicePlatform

Описание

На Android это возвращает 0, если это приложение работает на устройстве Google, или 1, если оно работает на устройстве Amazon. На всех других платформах это возвращает 0.

Определение

int agk::GetDevicePlatform()

Параметры

Пример кода


GetDeviceType

Описание

Возвращает строку, содержащую конкретную строку устройства, это будет отличаться для каждой платформы, например, в Windows она будет возвращать версию ОС vista, 7, xp и т. Д. На iOS он вернет имя устройства iOS ipad1,1, ipod2,1, iphone1,2 и т. Д. Для Android он вернет модель устройства nexus 7 и т. Д. Для Mac он вернет версию ОС 10.7, 10.8 и т. Д. Эта строка всегда будет строчной

Определение

char* agk::GetDeviceType()

Параметры

Пример кода


GetDeviceName

Описание

Эта команда устарела, пожалуйста, используйте GetDeviceBaseName и GetDeviceType вместо этого. Возвращает строку, содержащую имя текущей платформы, например windows. При работе с iOS возвращается больше информации,например,на iPad 1 ios|iPad1,1 и на iPod 2-го поколения: ios|iPod2, 1 и на iPhone 3G: ios|iPhone1, 2. Первое число-это главный номер модели, второе - второстепенный номер модели.

Определение

char* agk::GetDeviceName( )

Параметры

Пример кода


GetDeviceNetworkType

Описание

Возвращает тип сетевого подключения устройства к Интернету. Возвращает 0, если используется мобильное соединение, 1, если используется соединение Wi-Fi или Ethernet, или -1, если тип сети не может быть определен. В настоящее время реализовано только на iOS и Android, другие платформы вернут -1.

Определение

int agk::GetDeviceNetworkType()

Параметры

Пример кода


GetDeviceLanguage

Описание

Возвращает строку, содержащую язык текущего устройства в виде en, fr, de и т. Д.

Определение

char* agk::GetDeviceLanguage( )

Параметры

Пример кода


GetDeviceID

Описание

Возвращает строку, которая может быть использована для идентификации этого устройства

Определение

char* agk::GetDeviceID()

Параметры

Пример кода


GetDeviceHeight

Описание

Возвращает высоту в пикселях backbuffer текущего устройства. Это значение изменится, если ориентация устройства изменится с книжной на альбомную, но только в том случае, если изменения ориентации разрешены.

Определение

int agk::GetDeviceHeight()

Параметры

Пример кода


GetDeviceWidth

Описание

Возвращает ширину в пикселях backbuffer текущего устройства. Это значение изменится, если ориентация устройства изменится с книжной на альбомную, но только в том случае, если изменения ориентации разрешены.

Определение

int agk::GetDeviceWidth()

Параметры

Пример кода


GetDeviceDPI

Описание

Получает точки на дюйм (также называемые Пикселями на дюйм) экрана устройства. Это работает только на iOS и Android, другие платформы вернут 0. В iOS это значение жестко закодировано устройством, поэтому, если будет выпущено новое устройство, для получения точного значения потребуется обновление AGK. Тем временем будет сформирована оценочная стоимость.

Определение

int agk::GetDeviceDPI()

Параметры

Пример кода


GetDeviceBaseName

Описание

Возвращает строку, содержащую имя текущей платформы. Это будет относиться только к базовой платформе, то есть windows, ios, android, mac, linux или html5. Используйте GetDeviceType, чтобы получить дополнительную информацию о конкретном устройстве. Эта строка всегда будет строчной.

Определение

char* agk::GetDeviceBaseName()

Параметры

Пример кода


GetColorRed

Описание

Возвращает красный компонент составного значения цвета, созданного с помощью MakeColor

Определение

UINT agk::GetColorRed( UINT color )

Параметры

color - Значение цвета для разложения.

Пример кода


GetColorGreen

Описание

Возвращает зеленый компонент составного значения цвета, созданного с помощью MakeColor

Определение

UINT agk::GetColorGreen( UINT color )

Параметры

color - Значение цвета для разложения.

Пример кода


GetColorBlue

Описание

Возвращает синий компонент составного значения цвета, созданного с помощью MakeColor

Определение

UINT agk::GetColorBlue( UINT color )

Параметры

color - Значение цвета для разложения.

Пример кода


GetAppRunning

Описание

Возвращает 1, если указанный идентификатор приложения все еще работает, и 0, если это не так.

Определение

UINT agk::GetAppRunning( UINT appID )

Параметры

appID - Идентификатор приложения для проверки, возвращенный из runApp()

Пример кода


GetAppName

Описание

Возвращает имя exe-файла.

Определение

char* agk::GetAppName( )

Параметры

Пример кода


GetAppPackageName

Описание

На Android это возвращает имя пакета, используемое при экспорте приложения, например, для AGK Player это будет com.thegamecreators.agk_player2. В iOS он возвращает идентификатор пакета, используемый для приложения, например, для AGK Player это будет com.thegamecreators.agk2player. На всех других платформах это в настоящее время возвращает пустую строку. Если вы вызываете это из уровня 2, то возвращаемая строка должна быть удалена, когда она больше не нужна.

Определение

char* agk::GetAppPackageName()

Параметры

Пример кода


GetAppInstalled

Описание

Возвращает 1, если указанное приложение установлено и включено на устройстве. Для Android это должно быть имя пакета приложения, например com.faceboook.катана для приложения Facebook. В настоящее время это работает только на Android

Определение

int agk::GetAppInstalled( const char *packageName )

Параметры

packageName - Имя пакета приложения для проверки

Пример кода


Floor

Описание

Округляет float до следующего наименьшего целого числа. Это отличается от Trunc при использовании отрицательных чисел, Trunc( -1.6 ) равен -1, а Floor( -1.6 ) равен -2.

Определение

int agk::Floor( float a )

Параметры

a - Значение для пола.

Пример кода


FindStringReverse

Описание

Возвращает индекс первого вхождения findStr в заданную строку, начиная с конца строки и двигаясь назад. Используйте начальное значение -1, чтобы начать с самого конца строки независимо от ее длины. Индекс 1-это первый символ в строке, возвращающий 0, если он не найден. По умолчанию этот параметр не чувствителен к регистру, используйте параметр IgnoreCase для установки чувствительности к регистру.

Определение

int agk::FindStringReverse( const char* str, const char* findStr, int ignoreCase, int start )
int agk::FindStringReverse( const char* str, const char* findStr )

Параметры

str - Строка для проверки
findStr - Строка, которую нужно найти
ignoreCase - 1-игнорировать регистр при поиске, 0 - совпадать с регистром
start - Индекс для начала, первый символ находится в индексе 1, используйте минус 1, чтобы начать с самого конца

Пример кода


FindStringCount

Описание

Возвращает количество раз, когда findStr появляется в данной строке. По умолчанию этот параметр не чувствителен к регистру, используйте параметр IgnoreCase для установки чувствительности к регистру.

Определение

int agk::FindStringCount( const char* str, const char* findStr )
int agk::FindStringCount( const char* str, const char* findStr, int ignoreCase, int start )

Параметры

str - Строка для проверки
findStr - Строка, которую нужно найти
ignoreCase - 1-игнорировать регистр при поиске, 0 - совпадать с регистром
start - Индекс, с которого нужно начать, первый символ находится в индексе 1

Пример кода


FindString

Описание

Возвращает индекс первого вхождения findStr в заданную строку. Индекс 1-это первый символ в строке, возвращающий 0, если он не найден. По умолчанию этот параметр не чувствителен к регистру, используйте параметр IgnoreCase для установки чувствительности к регистру.

Определение

int agk::FindString( const char* str, const char* findStr, int ignoreCase, int start )
int agk::FindString( const char* str, const char* findStr )

Параметры

str - Строка для проверки
findStr - Строка, которую нужно найти
ignoreCase - 1-игнорировать регистр при поиске, 0 - совпадать с регистром
start - Индекс, с которого нужно начать, первый символ находится в индексе 1

Пример кода


FMod

Описание

Возвращает остаток от деления с плавающей запятой a/b.

Определение

float agk::FMod( float a, float b )

Параметры

a - Числитель.
b - Знаменатель.

Пример кода


EnableClearDepth

Описание

Задает, следует ли очищать буфер глубины при вызове Sync или Swap. По умолчанию это значение равно true. Отключать это не рекомендуется, так как все, что использует буфер глубины, будет появляться только в течение одного кадра, а затем, похоже, исчезнет. Эта функция может не иметь никакого влияния на мобильные устройства.

Определение

void agk::EnableClearDepth( UINT clear )

Параметры

clear - Установите значение 1, чтобы очистить буфер глубины, и 0, чтобы не очистить его.

Пример кода


EnableClearColor

Описание

Задает, следует ли очищать буфер кадров при вызове Sync или Swap. По умолчанию это значение равно true. Единственная причина вызвать эту команду-это если у вас есть фоновый спрайт или набор спрайтов, которые полностью закрывают экран, так что цвет фона никогда не будет виден. В этих случаях некоторые графические процессоры могут извлечь выгоду из отключения четкого цвета. Обратите внимание, что во многих случаях последний нарисованный кадр останется на экране, однако это не гарантировано, и вы не должны создавать эффекты, которые полагаются на него, так как они могут не работать в будущем и не будут работать на мобильных устройствах. Для создания эффектов, сохраняющих содержимое предыдущего кадра, рекомендуется использовать SetRenderToImage для захвата выходных данных одного кадра, а затем нарисовать его в следующем кадре, то есть вы визуализируете все до изображения 1, затем в следующем кадре вы вставляете изображение 1 в фон новой цели рендеринга, а затем рисуете новый кадр. Например, нарисуйте все в кадре 1 к изображению 1, затем в кадре 2 вы нарисуете изображение 1 с полноэкранным четырехугольным объектом к изображению 2, а затем нарисуете все в кадре 2 к изображению 2. Затем вы можете поменять местами цели рендеринга так, чтобы в кадре 3 вы нарисовали изображение 2 с полноэкранным квадратом обратно в изображение 1, затем нарисуйте объекты в кадре 3 на изображение 1. Продолжайте чередовать изображение 1 и 2, чтобы в кадре 4 сначала было нарисовано изображение 1 с полноэкранным квадратом на изображение 2, а затем нарисуйте все в кадре 4 на изображение 2. Важно не продолжать рисовать все на одном и том же изображении, то есть рисовать кадр 1 на изображении 1, затем кадр 2 на изображении 1 и так далее, потому что мобильные устройства используют внутренний отложенный рендеринг, который будет держать все увеличивающийся список вещей, которые нужно нарисовать на изображении 1. Если изображение никогда не будет очищено, то производительность снизится.

Определение

void agk::EnableClearColor( UINT clear )

Параметры

clear - Установите значение 1, чтобы очистить буфер кадров, и 0, чтобы не очищать его.

Пример кода


DrawBox

Описание

Рисует 2D-прямоугольник из одной точки экрана в другую с выбранным цветом с помощью линий. Линии появляются над всеми другими чертежами, кроме команды Print, и могут использоваться с функцией getImage или SetRenderToImage для создания новых изображений. Координаты XY находятся в экранных координатах, поэтому команда SetViewOffset на них не влияет. Цвета могут быть созданы с помощью команды MakeColor или с помощью побитовых операторов типа so, mycolor = (blue

Определение

void agk::DrawBox( float x, float y, float x2, float y2, UINT color1, UINT color2, UINT color3, UINT color4, int filled )

Параметры

x - Компонент X в верхнем левом углу коробки.
y - Компонент Y в верхнем левом углу коробки.
x2 - Компонент X в правом нижнем углу коробки.
y2 - Компонент Y в правом нижнем углу коробки.
color1 - Цвет для использования в верхнем левом углу.
color2 - Цвет для использования в правом верхнем углу.
color3 - Цвет для использования в левом нижнем углу.
color4 - Цвет для использования в правом нижнем углу.
filled - 1, чтобы нарисовать заполненную коробку, 0, чтобы нарисовать пустую коробку.

Пример кода


DrawLine

Описание

Рисует 2D-линию из одной точки экрана в другую с выбранным цветом. Линии появляются над всеми другими чертежами, кроме команды Print, и могут использоваться с функцией getImage для создания новых изображений. Координаты XY находятся в экранных координатах, поэтому команда SetViewOffset на них не влияет.

Определение

void agk::DrawLine( float x, float y, float x2, float y2, UINT red, UINT green, UINT blue )
void agk::DrawLine( float x, float y, float x2, float y2, UINT color1, UINT color2 )

Параметры

x - X-компонент начальной позиции линии.
y - Компонент Y начального положения линии.
x2 - X-составляющая конечного положения линии.
y2 - Компонент Y конечного положения линии.
red - Красная составляющая цвета линии.
green - Зеленая составляющая цвета линии.
blue - Синяя составляющая цвета линии.
color1 - Цвет, который будет использоваться в начале строки.
color2 - Цвет, который нужно использовать в конце строки.

Пример кода


DrawEllipse

Описание

Рисует 2D-эллипс с центром в координатах, заданных выбранным цветом или градиентом. 2D-фигуры появляются над всеми другими чертежами, кроме команды Print, и могут использоваться с функцией getImage для создания новых изображений. Координаты XY находятся в экранных координатах, поэтому команда SetViewOffset на них не влияет.

Определение

void agk::DrawEllipse( float x, float y, float radiusx, float radiusy, UINT color1, UINT color2, int filled )

Параметры

x - X-составляющая центра эллипса.
y - Y-составляющая центра эллипса.
radiusx - Радиус эллипса в направлении X.
radiusy - Радиус эллипса в направлении Y.
color1 - Цвет в верхней части эллипса.
color2 - Цвет в нижней части эллипса.
filled - 1=заполнено, 0=пусто.

Пример кода


DownloadExpansionFile

Описание

Запускает загрузку любого файла расширения, необходимого этой платформе и приложению, в настоящее время применимого только к Android. Если загрузка уже началась, это не имеет никакого эффекта. Вы можете использовать GetExpansionFileProgress для проверки хода загрузки и GetExpanionFileState для проверки ее завершения. После вызова этой команды вы должны дождаться, пока GetExpanionFileState вернет -1 (ошибка) или 3 (завершение) при отображении индикатора выполнения.

Определение

void agk::DownloadExpansionFile()

Параметры

Пример кода


CountStringTokens2

Описание

Подсчитывает количество токенов, разделенных указанным разделителем, например строка, содержащая first:second:third, имеет три токена, разделенных :. Аналогично CountStringTokens, за исключением того, что эта команда принимает только один символ в качестве разделителя и распознает пустые поля. Например, first:second::fourth имеет четыре токена, а третий-пустую строку.

Определение

int agk::CountStringTokens2( const char* str, const char* delimiter )

Параметры

str - Строка для проверки.
delimiter - Символ, который ограничивает строку

Пример кода


CountStringTokens

Описание

Подсчитывает количество токенов, разделенных заданным набором разделителей, например строка, содержащая first:second:third, имеет три токена, разделенных : и first:second;third, имеет три токена, разделенных разделителями :;. Вы можете иметь несколько разделителей между каждым токеном, например first:;second:third является допустимым и имеет три токена. Эта команда полезна для разделения слов в предложении, которое может быть разделено как пробелом, так и пунктуацией.

Определение

int agk::CountStringTokens( const char* str, const char* delimiters )

Параметры

str - Строка для проверки.
delimiters - Набор символов, разделяющих строку

Пример кода


CosRad

Описание

Возвращает косинус значения в радианах.

Определение

float agk::CosRad( float a )

Параметры

a - Значение, которое нужно передать в функцию косинуса.

Пример кода


Cos

Описание

Возвращает косинус значения в градусах.

Определение

float agk::Cos( float a )

Параметры

a - Значение, которое нужно передать в функцию косинуса.

Пример кода


CompareString

Описание

Возвращает 1, если две строки равны друг другу, в противном случае возвращает 0. По умолчанию этот параметр не чувствителен к регистру, используйте параметр IgnoreCase для установки чувствительности к регистру. Используйте параметр maxChars, чтобы указать максимальное количество символов для проверки, если строки совпадают после того, как было проверено много символов, то они считаются равными. Используйте значение -1 для проверки всех символов независимо от длины.

Определение

int agk::CompareString( const char* str, const char* str2 )
int agk::CompareString( const char* str, const char* str2, int ignoreCase, int maxChars )

Параметры

str - Первая строка для проверки
str2 - Вторая строка для проверки
ignoreCase - 1-игнорировать регистр при сравнении, 0 - совпадать с регистром
maxChars - Количество символов для проверки, минус 1 для всех

Пример кода


ClearURLSchemeText

Описание

Очищает сохраненный в данный момент текст схемы URL - адреса, чтобы вы могли сигнализировать о том, что действовали в соответствии с ним. Это не обязательно, но может сделать ваш код проще, если вам не нужно помнить, что вы имели дело с событием схемы URL.

Определение

void agk::ClearURLSchemeText()

Параметры

Пример кода


Chr

Описание

Возвращает строку переданного значения Unicode.

Определение

char* agk::Chr( UINT unicodevalue )

Параметры

unicodevalue - Строка для измерения длины

Пример кода


ClearScreen

Описание

Очищает задний буфер и буфер глубины всего рисунка и заполняет его выбранным прозрачным цветом, установленным SetClearColor. Это не влияет на то, что видно на экране, если только Swap не вызывается для отображения заднего буфера на экран. Это позволяет вам нарисовать некоторые вещи в backbuffer, использовать getImage для хранения результата, а затем ClearScreen для рисования чего-то еще.

Определение

void agk::ClearScreen()

Параметры

Пример кода


Ceil

Описание

Округляет float до следующего по величине целого числа. Это отличается от Trunc при использовании положительных чисел, Trunc( 1.6 ) равен 1, а Ceil( 1.6 ) равен 2.

Определение

int agk::Ceil( float a )

Параметры

a - Значение для округления.

Пример кода


ClearDepthBuffer

Описание

Очищает буфер глубины всех объектов. Это очистит буфер, даже если очистка глубины была отключена с помощью EnableClearDepth.

Определение

void agk::ClearDepthBuffer()

Параметры

Пример кода


Bin

Описание

Преобразует целочисленное значение в строку, содержащую его двоичное представление. Например, Bin(7) вернет строку, содержащую 111. Если вы вызываете эту команду из уровня 2, эта строка должна быть удалена, когда вы закончите с ней.

Определение

char* agk::Bin( int i )

Параметры

i - Значение Inegert для преобразования в двоичную строку

Пример кода


ByteLen

Описание

Возвращает количество байтов в данной строке. Обратите внимание, что для строк, закодированных в UTF-8, это может быть не равно количеству символов в строке, так как каждый символ может использовать до 4 байт. Чтобы определить количество символов в строке, используйте команду Len.

Определение

UINT agk::ByteLen( const char* strin )

Параметры

strin - Строка для измерения длины

Пример кода


Asc

Описание

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

Определение

UINT agk::Asc( const char* strin )

Параметры

strin - Строковый символ для преобразования в значение Unicode

Пример кода


Abs

Описание

Возвращает абсолютное значение, то есть положительную версию числа.

Определение

float agk::Abs( float a )

Параметры

a - Значение для преобразования.

Пример кода


ATanRad

Описание

Возвращает арктангенс значения в радианах в диапазоне от pi/2 до pi/2.

Определение

float agk::ATanRad( float a )

Параметры

a - Значение, передаваемое в функцию арктангенса.

Пример кода


ATanFull

Описание

Возвращает угол в градусах между x=0 y=-1 (вверх) и заданным вектором по часовой стрелке. Возвращает значение от 0 до 360. Эта команда является собственностью AGK и полезна в 2D-ситуациях. Если вы ищете эквивалент atan2 в C++, используйте вместо этого команду AGK ATan2.

Определение

float agk::ATanFull( float x, float y )

Параметры

x - X компонент вектора для проверки
y - Компонент y вектора для проверки

Пример кода


ATan2Rad

Описание

Возвращает угол вектора x,y в радианах в диапазоне от pi до pi. Это точно соответствует функции C++ atan2.

Определение

float agk::ATan2Rad( float y, float x )

Параметры

y - Значение y для передачи в atan2
x - Значение x для передачи в atan2

Пример кода


ATan

Описание

Возвращает арктангенс значения в градусах в диапазоне от -90 до 90.

Определение

float agk::ATan( float a )

Параметры

a - Значение, передаваемое в функцию арктангенса.

Пример кода


ASin

Описание

Возвращает арксин значения в градусах.

Определение

float agk::ASin( float a )

Параметры

a - Значение, передаваемое в функцию arcsine.

Пример кода


ATanFullRad

Описание

Возвращает угол в радианах между x=0 y=-1 (вверх) и заданным вектором по часовой стрелке. Возвращает значение от 0 до 2*PI. Эта команда является собственностью AGK и полезна в 2D-ситуациях. Если вы ищете эквивалент atan2 в C++, используйте вместо этого команду AGK ATan2Rad.

Определение

float agk::ATanFullRad( float x, float y )

Параметры

x - X компонент вектора для проверки
y - Компонент y вектора для проверки

Пример кода


ATan2

Описание

Возвращает угол вектора x,y в градусах в диапазоне от -180 до 180. Это точно соответствует функции C++ atan2 с градусами.

Определение

float agk::ATan2( float y, float x )

Параметры

y - Значение y для передачи в atan2
x - Значение x для передачи в atan2

Пример кода


ASinRad

Описание

Возвращает арксин значения в радианах.

Определение

float agk::ASinRad( float a )

Параметры

a - Значение, передаваемое в функцию arcsine.

Пример кода