Skip to the content.

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

StopSprite

Описание

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

Определение

void agk::StopSprite( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта, чтобы остановить анимацию.

Пример кода


SetSpriteY

Описание

Немедленно позиционирует указанный спрайт в заданные мировые координаты Y. Мировая система координат по умолчанию имеет 0,0 в качестве верхнего левого угла и 100,100 в качестве нижнего правого угла экрана (это можно изменить с помощью SetVirtualResolution). Эта команда позиционирует спрайт в верхнем левом углу.

Определение

void agk::SetSpriteY ( UINT iSpriteIndex, float fY )

Параметры

iSpriteIndex - Идентификатор спрайта в позиции
fY - Координата Y для позиционирования спрайта может использовать десятичные значения.

Пример кода


SetSpriteX

Описание

Немедленно помещает указанный спрайт в заданные мировые координаты X. Мировая система координат по умолчанию имеет 0,0 в качестве верхнего левого угла и 100,100 в качестве нижнего правого угла экрана (это можно изменить с помощью SetVirtualResolution). Эта команда позиционирует спрайт в верхнем левом углу.

Определение

void agk::SetSpriteX ( UINT iSpriteIndex, float fX )

Параметры

iSpriteIndex - Идентификатор спрайта в позиции
fX - Координата X для позиционирования спрайта может использовать десятичные значения.

Пример кода


SetSpriteUVScale

Описание

Масштабирует УФ-координаты спрайтов на заданную величину. Спрайт с УФ-масштабированием на 2 сделает его текстуру вдвое больше обычной. УФ-шкала не влияет на УФ-смещение, выбранное с помощью SetSpriteUVOffset, так что смещение 0,5 в направлении U всегда будет начинать выборку на полпути по текстуре, шкала определяет, как далеко спрайт продолжает выборку. Таким образом, при смещении 0,5 шкала 2 сделает выборку спрайта от 0,5 до 1 вместо 0,5 до 1,5. По умолчанию спрайт настроен на использование УФ-координат от 0,0 до 1,1, используя полное доступное ему изображение. Однако есть несколько случаев, когда это изменяется AGK, чтобы скрыть определенные ограничения. Если текстура, назначенная спрайту, не имеет степени 2 ширины или высоты, изображение увеличивается в размере до тех пор, пока оно не станет степенью 2 размера, а УФ-координаты для спрайта уменьшаются так, что спрайт использует только ту часть текстуры, которая содержит исходное изображение. Это происходит потому, что большинство мобильных платформ не поддерживают текстуры, которые не являются силой 2 ширины или высоты. Поэтому смещение УФ-координат спрайта в этом случае сместит использование спрайтом текстуры в неопределенную часть, которая используется в качестве отступа. Кроме того, если спрайт использует изображение, принадлежащее текстуре атласа, УФ-координаты спрайта будут установлены таким образом, чтобы он использовал только ту часть текстуры, которая содержит назначенное ему изображение. Смещение УФ-координат в этом случае сместит использование спрайтом текстуры на другие изображения, которые являются частью текстуры атласа. То же самое можно сказать и о спрайтах, использующих анимацию, содержащуюся в одной текстуре, используя SetSpriteAnimation. Из-за этих возможностей рекомендуется изменять УФ-координаты только на спрайтах, использующих целые изображения (а не текстуры атласа) и имеющих степень 2 размера как по ширине, так и по высоте. С этими ограничениями можно использовать УФ-значения вне 0-1 для успешного зажима или повторения текстуры.

Определение

void agk::SetSpriteUVScale( UINT iSpriteIndex, float scaleU, float scaleV )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения
scaleU - Сумма для масштабирования в направлении U.
scaleV - Сумма для масштабирования в направлении V.

Пример кода


SetSpriteVisible

Описание

Задает, виден ли этот спрайт во время рисования. Он все еще может обновлять свою анимацию и физику, которые управляются SetSpriteActive.

Определение

void agk::SetSpriteVisible ( UINT iSpriteIndex, int bVisible )

Параметры

iSpriteIndex - Идентификатор спрайта, который нужно изменить.
bVisible - Видимость этого спрайта, 1 для видимого, 0 для невидимого.

Пример кода


SetSpriteUVOffset

Описание

Смещает УФ - координаты спрайтов на заданную величину. Например, смещение на 0,5 в направлении U заставит спрайт начать выборку текстуры посередине верхней части текстуры, а не в верхнем левом углу, как обычно. Значения UV вне диапазона 0,0 (вверху слева) и 1,1 (внизу справа) могут либо обернуть, либо зажать текстуру, что определяется изображением, назначенным спрайту с помощью SetImageWrapU и SetImageWrapV. Зажим или обертывание не могут быть установлены на основе каждого спрайта. По умолчанию спрайт настроен на использование УФ-координат от 0,0 до 1,1, используя полное доступное ему изображение. Однако есть несколько случаев, когда это изменяется AGK, чтобы скрыть определенные ограничения. Если текстура, назначенная спрайту, не имеет степени 2 ширины или высоты, изображение увеличивается в размере до тех пор, пока оно не станет степенью 2 размера, а УФ-координаты для спрайта уменьшаются так, что спрайт использует только ту часть текстуры, которая содержит исходное изображение. Это происходит потому, что большинство мобильных платформ не поддерживают текстуры, которые не являются силой 2 ширины или высоты. Поэтому смещение УФ-координат спрайта в этом случае сместит использование спрайтом текстуры в неопределенную часть, которая используется в качестве отступа. Кроме того, если спрайт использует изображение, принадлежащее текстуре атласа, УФ-координаты спрайта будут установлены таким образом, чтобы он использовал только ту часть текстуры, которая содержит назначенное ему изображение. Смещение УФ-координат в этом случае сместит использование спрайтом текстуры на другие изображения, которые являются частью текстуры атласа. То же самое можно сказать и о спрайтах, использующих анимацию, содержащуюся в одной текстуре, используя SetSpriteAnimation. Из-за этих возможностей рекомендуется изменять УФ-координаты только на спрайтах, использующих целые изображения (а не текстуры атласа) и имеющих степень 2 размера как по ширине, так и по высоте. С этими ограничениями можно использовать УФ-значения вне 0-1 для успешного зажима или повторения текстуры.

Определение

void agk::SetSpriteUVOffset( UINT iSpriteIndex, float u, float v )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения
u - Величина смещения UV-координат в направлении U.
v - Величина смещения UV-координат в направлении V.

Пример кода


SetSpriteUVBorder

Описание

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

Определение

void agk::SetSpriteUVBorder( UINT iSpriteIndex, float border )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
border - 0=нет границы, 0,5=смещение на половину пикселя, 1=смещение на один пиксель и т. Д.

Пример кода


SetSpriteUV

Описание

Эта команда переопределяет обычные УФ-вычисления спрайтов и позволяет устанавливать их непосредственно для каждой вершины. Обратите внимание, что анимация с использованием листов спрайта или текстур атласа не будет работать при использовании этой команды, а функции УФ-смещения и масштабирования не будут иметь никакого эффекта. У вас есть полный контроль над УФ-координатами. Чтобы отменить это, используйте ResetSpriteUV для возврата к вычисленным UV-координатам.

Определение

void agk::SetSpriteUV ( UINT iSpriteIndex, float u1, float v1, float u2, float v2, float u3, float v3, float u4, float v4 )

Параметры

iSpriteIndex - Идентификатор спрайта, который нужно изменить.
u1 - U-координата верхней левой вершины.
v1 - V-координата верхней левой вершины.
u2 - U-координата нижней левой вершины.
v2 - V-координата нижней левой вершины.
u3 - U-координата верхней правой вершины.
v3 - V-координата верхней правой вершины.
u4 - U-координата нижней правой вершины.
v4 - V-координата нижней правой вершины.

Пример кода


SetSpriteSpeed

Описание

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

Определение

void agk::SetSpriteSpeed( UINT iSpriteIndex, float fFps )

Параметры

iSpriteIndex - Идентификатор спрайта, который нужно изменить.
fFps - скорость, с которой спрайт должен обновляться, кадры спрайта будут пропущены, если частота кадров спрайта слишком высока по сравнению с частотой кадров игры.

Пример кода


SetSpriteSize

Описание

Устанавливает спрайту новую ширину и высоту. В системе координат по умолчанию ширина и высота 100 100 будут заполнять весь рисуемый экран (это можно изменить с помощью SetVirtualResolution). Если задано значение width или height, а другое значение равно -1, то значение -1 будет пересчитано для поддержания соотношения сторон изображения, чтобы оно не выглядело растянутым. Если и ширина, и высота равны -1, то спрайт возьмет ширину назначенного изображения и вычислит его высоту, чтобы оно не растягивалось. Эта функция пересчитывает форму столкновения спрайта, что может быть дорогостоящим процессом для круговых и полигональных фигур. Более эффективный способ изменить размер спрайта - масштабировать его с помощью функции SetSpriteScale. Эта функция сбрасывает масштаб спрайта.

Определение

void agk::SetSpriteSize( UINT iSpriteIndex, float width, float height )

Параметры

iSpriteIndex - Идентификатор спрайта для извлечения.
width - ширина, используемая для спрайта, используйте минус 1, чтобы вычислить это значение.
height - высота, используемая для спрайта, используйте минус 1, чтобы вычислить это значение.

Пример кода


SetSpriteSnap

Описание

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

Определение

void agk::SetSpriteSnap ( UINT iSpriteIndex, int snap )

Параметры

iSpriteIndex - Идентификатор спрайта, который нужно изменить.
snap - 1, чтобы включить привязку, 0, чтобы выключить ее

Пример кода


SetSpriteTransparency

Описание

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

Определение

void agk::SetSpriteTransparency( UINT iSpriteIndex, int mode )

Параметры

iSpriteIndex - Идентификатор спрайта, который нужно изменить.
mode - Режим прозрачности для этого спрайта: 0=выкл., 1=альфа-прозрачность, 2=аддитивное смешивание

Пример кода


SetSpriteShapePolygon

Описание

Переопределяет текущую автоматически сгенерированную форму для использования в обнаружении столкновений, тестировании ударов и физике. Форма может быть установлена без включения физики, и по умолчанию все спрайты настроены на использование формы коробки, которая является самой быстрой для настройки. Полигон определяется набором точек (от 2 до 12) относительно смещения текущего спрайта. Например, точка 0,0 будет центрирована на точке смещения спрайта, любое другое значение будет смещено от этой точки. Точки определяются по одной за раз, вызывая эту команду несколько раз, с индексом, начинающимся с 0. Как только индекс равен numPoints-1, фигура будет создана с использованием ранее определенных точек. Как только вы начнете определять точки, вы должны завершить процесс, достигнув index=numPoints-1, прежде чем определять точки для любой другой фигуры. По умолчанию установка фигуры удаляет все другие фигуры, назначенные спрайту, и заменяет его этой. Вы можете установить фигуры по отдельности, указав shapeID больше 0. Идентификаторы фигур начинаются с 1 для первой фигуры, а 0 означает удаление всех существующих фигур перед созданием новой с идентификатором 1. Эта команда изменяет только существующие фигуры, по умолчанию все спрайты имеют базовую форму с идентификатором 1. Вы можете добавить дополнительные фигуры с помощью команд AddSpriteShape.

Определение

void agk::SetSpriteShapePolygon( UINT iSpriteIndex, UINT numPoints, UINT index, float x, float y )
void agk::SetSpriteShapePolygon( UINT iSpriteIndex, UINT numPoints, UINT index, float x, float y, int shapeID )

Параметры

iSpriteIndex - Идентификатор спрайта, который нужно изменить.
numPoints - Количество точек, используемых в полигоне, не менее 2, не более 12.
index - Индекс точки для установки, если он равен numPoints-1, то будет создана фигура
x - X координата добавляемого полигона
y - Y координата добавляемого полигона
shapeID - Идентификатор изменяемой фигуры, первая фигура-ID 1, 0=удалить существующие фигуры и заменить их этой новой

Пример кода


SetSpriteShapeCircle

Описание

Переопределяет текущую автоматически сгенерированную форму для использования в обнаружении столкновений, тестировании ударов и физике. Форма может быть установлена без включения физики, и по умолчанию все спрайты настроены на использование формы коробки, которая является самой быстрой для настройки. Окружность определяется путем указания ее центральной точки относительно текущего смещения спрайта и радиуса. Например, если круг должен быть центрирован в точке смещения спрайта, он будет указан в позиции 0,0. Любое другое значение будет смещать круг от спрайта. Радиус определяется в координатах x, поскольку мировые координаты не обязательно представляют размер элементов на экране (например, 10 единиц в X могут быть не такими же видимыми размерами, как 10 единиц в Y). По умолчанию установка фигуры удаляет все другие фигуры, назначенные спрайту, и заменяет его этой. Вы можете установить фигуры по отдельности, указав shapeID больше 0. Идентификаторы фигур начинаются с 1 для первой фигуры, а 0 означает удаление всех существующих фигур перед созданием новой с идентификатором 1. Эта команда изменяет только существующие фигуры, вы можете добавить дополнительные фигуры с помощью команд AddSpriteShape.

Определение

void agk::SetSpriteShapeCircle( UINT iSpriteIndex, float x, float y, float radius )
void agk::SetSpriteShapeCircle( UINT iSpriteIndex, float x, float y, float radius, int shapeID )

Параметры

iSpriteIndex - Идентификатор спрайта, который нужно изменить.
x - Координата X центра окружности в спрайтовом пространстве.
y - Координата Y центра окружности в спрайтовом пространстве.
radius - Радиус окружности.
shapeID - Идентификатор изменяемой фигуры, первая фигура-ID 1, 0=удалить существующие фигуры и заменить их этой новой

Пример кода


SetSpriteShapeChain

Описание

Переопределяет текущую автоматически сгенерированную форму для использования в физике. Обычное тестирование столкновений и попаданий спрайтов не работает с формой цепи, это только для физики. Форма может быть установлена без включения физики, и по умолчанию все спрайты настроены на использование формы коробки, которая является самой быстрой для настройки. Цепочка определяется набором точек (не менее 2) относительно смещения текущего спрайта. Например, точка 0,0 будет центрирована на точке смещения спрайта, любое другое значение будет смещено от этой точки. Цепи являются жесткими и могут быть использованы для создания полых вогнутых полигонов или 2D-ландшафтов. Установите параметр loop равным 1, чтобы соединить два конца цепочки вместе, создав полый многоугольник. Точки определяются по одной за раз, вызывая эту команду несколько раз, с индексом, начинающимся с 0. Как только индекс равен numPoints-1, фигура будет создана с использованием ранее определенных точек. Как только вы начнете определять точки, вы должны завершить процесс, достигнув index=numPoints-1, прежде чем определять точки для любой другой фигуры. Использование shapeID 0 удаляет все другие фигуры, назначенные спрайту, и заменяет его этим. Вы можете установить фигуры по отдельности, указав shapeID больше 0. Идентификаторы фигур начинаются с 1 для первой фигуры. Эта команда изменяет только существующие фигуры, по умолчанию все спрайты имеют базовую форму с идентификатором 1. Вы можете добавить дополнительные фигуры с помощью команд AddSpriteShape.

Определение

void agk::SetSpriteShapeChain( UINT iSpriteIndex, UINT numPoints, UINT index, int loop, float x, float y, int shapeID )

Параметры

iSpriteIndex - Идентификатор спрайта, который нужно изменить.
numPoints - Количество точек для использования в цепочке, мин 2, не более.
index - Индекс точки для установки, если он равен numPoints-1, то будет создана фигура
loop - 1, чтобы соединить два конца цепи вместе, 0, чтобы оставить их несвязанными
x - X координата добавляемого полигона
y - Y координата добавляемого полигона
shapeID - Идентификатор изменяемой фигуры, первая фигура-ID 1, 0=удалить существующие фигуры и заменить их этой новой

Пример кода


SetSpriteShapeBox

Описание

Переопределяет текущую автоматически сгенерированную форму для использования в обнаружении столкновений, тестировании ударов и физике. Фигуру можно задать без включения физики, и по умолчанию все спрайты настроены на использование формы коробки, которая является самой быстрой для настройки. Поле определяется путем указания его верхних левых и нижних правых координат в пространстве спрайта относительно смещения спрайта, по умолчанию это центр спрайта. Например, если текущее смещение спрайта равно 0,0, то верхний левый угол коробки будет равен 0,0, но если смещение спрайта равно середине спрайта (по умолчанию), то верхний левый угол будет равен-width/2,-height/2. Вы также можете указать угол смещения коробки относительно текущего поворота спрайта. По умолчанию установка фигуры удаляет все другие фигуры, назначенные спрайту, и заменяет его этой. Вы можете установить фигуры по отдельности, указав shapeID больше 0. Идентификаторы фигур начинаются с 1 для первой фигуры, а 0 означает удаление всех существующих фигур перед созданием новой с идентификатором 1. Эта команда изменяет только существующие фигуры, по умолчанию все спрайты имеют базовую форму с идентификатором 1. Вы можете добавить дополнительные фигуры с помощью команд AddSpriteShape.

Определение

void agk::SetSpriteShapeBox( UINT iSpriteIndex, float x, float y, float x2, float y2, float angle, int shapeID )
void agk::SetSpriteShapeBox( UINT iSpriteIndex, float x, float y, float x2, float y2, float angle )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
x - Координата X верхнего левого угла нового окна в пространстве спрайтов.
y - Координата Y верхнего левого угла нового окна в пространстве спрайтов.
x2 - Координата X в правом нижнем углу нового окна в пространстве спрайтов.
y2 - Координата Y в правом нижнем углу нового окна в пространстве спрайтов.
angle - Угол коробки в радианах.
shapeID - Идентификатор изменяемой фигуры, первая фигура-ID 1, 0=удалить существующие фигуры и заменить их этой новой

Пример кода


SetSpriteShape

Описание

Задает текущую форму для использования в обнаружении столкновений, тестировании ударов и физике. Форма может быть установлена без включения физики, и по умолчанию все спрайты настроены на использование формы коробки, которая является самой быстрой для настройки. Если вы выберете no shape (0), то любая существующая фигура будет удалена, а при тестировании хита вместо нее будут использоваться размеры спрайта. Команды, требующие формы, такие как GetspriteCollision, будут генерировать прямоугольную форму для спрайта, если она не существует. Параметр shape позволяет определить, какой тип ограничительной рамки должна использовать система для обнаружения коллизий. Круг создаст идеальный круг, центрированный в точке вращения спрайта и достаточно большой, чтобы охватить видимые пиксели спрайта. Box создаст прямоугольник по краям спрайта, независимо от того, видны пиксели или нет. Полигон создаст плотно прилегающий выпуклый полигон вокруг видимых пикселей спрайта, причем видимый пиксель будет определен как один с альфа-значением больше 128. Эта функция не будет работать с фиктивными спрайтами, так как при вычислении фигуры нет изображения, в этих случаях фигуры должны быть заданы вручную с помощью SetSpriteShapeBox, SetSpriteShapeCircle или SetSpriteShapePolygon. По умолчанию установка фигуры удаляет все другие фигуры, назначенные спрайту, и заменяет его этой. Вы можете установить фигуры по отдельности, указав shapeID больше 0. Идентификаторы фигур начинаются с 1 для первой фигуры, а 0 означает удаление всех существующих фигур перед созданием новой с идентификатором 1. Эта команда изменяет только существующие фигуры, по умолчанию все спрайты имеют базовую форму с идентификатором 1. Вы можете добавить дополнительные фигуры с помощью команд AddSpriteShape.

Определение

void agk::SetSpriteShape( UINT iSpriteIndex, int shape, int shapeID )
void agk::SetSpriteShape( UINT iSpriteIndex, int shape )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
shape - Форма, используемая для этого спрайта, 0=нет формы, 1=круг, 2=коробка, 3=многоугольник
shapeID - Идентификатор изменяемой фигуры, первая фигура-ID 1, 0=удалить существующие фигуры и заменить их этой новой

Пример кода


SetSpriteShader

Описание

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

Определение

void agk::SetSpriteShader( UINT spriteID, UINT shaderID )

Параметры

spriteID - Идентификатор спрайта для изменения.
shaderID - Идентификатор используемого шейдера.

Пример кода


SetSpriteScaleByOffset

Описание

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

Определение

void agk::SetSpriteScaleByOffset( UINT iSpriteIndex, float x, float y )

Параметры

iSpriteIndex - Идентификатор спрайта, который нужно изменить.
x - Значение для масштабирования спрайта в направлении X.
y - Значение для масштабирования спрайта в направлении Y.

Пример кода


SetSpriteScissor

Описание

При рисовании спрайт привязывается к указанным мировым координатам. Используйте значения 0,0,0,0, чтобы отключить ножницы спрайта

Определение

void agk::SetSpriteScissor( UINT iSpriteIndex, float x, float y, float x2, float y2 )

Параметры

iSpriteIndex - Идентификатор спрайта, который нужно изменить.
x - Координата x верхнего левого угла прямоугольника для использования в качестве границы клипа.
y - Координата y верхнего левого угла прямоугольника для использования в качестве границы клипа.
x2 - Координата x в правом нижнем углу окна для использования в качестве границы клипа.
y2 - Координата y в правом нижнем углу окна для использования в качестве границы клипа.

Пример кода


SetSpriteScale

Описание

Устанавливает масштаб спрайта как абсолютное кратное его исходному размеру. Например, значение масштаба 2 удвоит размер спрайта, в то время как значение 1 вернет его к исходному размеру. Эта функция масштабируется из верхнего левого угла, поэтому любое увеличение размера будет держать верхнюю и левую стороны неподвижными, в то время как нижняя и правая стороны движутся. Центр вращения спрайтов (его текущая точка смещения) будет масштабироваться вместе со спрайтом. Для масштабирования от точки смещения используйте SetSpriteScaleByOffset.

Определение

void agk::SetSpriteScale( UINT iSpriteIndex, float x, float y )

Параметры

iSpriteIndex - Идентификатор спрайта, который нужно изменить.
x - Значение для масштабирования спрайта в направлении X.
y - Значение для масштабирования спрайта в направлении Y.

Пример кода


SetSpritePositionByOffset

Описание

Сразу же позиционирует указанный спрайт в заданные мировые координаты X,Y. Мировая система координат по умолчанию имеет 0,0 в качестве верхнего левого угла и 100,100 в качестве нижнего правого угла экрана (это можно изменить с помощью SetVirtualResolution). Эта функция всегда позиционирует спрайт, используя его текущее смещение. Например, если текущее смещение является центром спрайта, эта команда поместит центр спрайта в заданные координаты.

Определение

void agk::SetSpritePositionByOffset( UINT iSpriteIndex, float fX, float fY )

Параметры

iSpriteIndex - Идентификатор спрайта в позиции
fX - Координата X для позиционирования спрайта может использовать десятичные значения.
fY - координата Y для позиционирования спрайта может использовать десятичные значения.

Пример кода


SetSpritePosition

Описание

Сразу же позиционирует указанный спрайт в заданные мировые координаты X,Y. Мировая система координат по умолчанию имеет 0,0 в качестве верхнего левого угла и 100,100 в качестве нижнего правого угла экрана (это можно изменить с помощью SetVirtualResolution). Эта функция всегда позиционирует спрайт, используя его верхний левый угол, независимо от текущего смещения спрайта. Верхний левый угол, используемый для позиционирования спрайта, не вращается вместе со спрайтом, например, когда спрайт вращается вокруг своего центра, воображаемый верхний левый угол остается фиксированным, и значение положения спрайта не меняется.

Определение

void agk::SetSpritePosition( UINT iSpriteIndex, float fX, float fY )

Параметры

iSpriteIndex - Идентификатор спрайта в позиции
fX - Координата X для позиционирования спрайта может использовать десятичные значения.
fY - координата Y для позиционирования спрайта может использовать десятичные значения.

Пример кода


SetSpritePhysicsVelocity

Описание

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

Определение

void agk::SetSpritePhysicsVelocity( UINT iSpriteIndex, float vx, float vy )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
vx - x-компонент новой скорости.
vy - y-составляющая новой скорости.

Пример кода


SetSpritePhysicsTorque

Описание

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

Определение

void agk::SetSpritePhysicsTorque( UINT iSpriteIndex, float torque )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
torque - Размер силы, приложенной к вращению спрайта. может быть отрицательным.

Пример кода


SetSpritePhysicsRestitution

Описание

Устанавливает значение реституции (bounciness), которое будет использоваться для этого спрайта во время физических вычислений. Должно быть в диапазоне от 0 до 1. Значения больше 1 приведут к тому, что спрайт наберет энергию от столкновений, которые могут привести к нестабильному результату. По умолчанию это устанавливает все фигуры, назначенные этому спрайту, в одно и то же значение, вместо этого вы можете установить его для каждой фигуры, указав shapeID больше 0. Идентификаторы фигур начинаются с 1 для первой фигуры, а 0 означает, что они применяются ко всем фигурам.

Определение

void agk::SetSpritePhysicsRestitution( UINT iSpriteIndex, float restitution )
void agk::SetSpritePhysicsRestitution( UINT iSpriteIndex, float restitution, int shapeID )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
restitution - Новая реституционная стоимость.
shapeID - Идентификатор изменяемой фигуры, 0 для применения значения ко всем фигурам

Пример кода


SetSpritePhysicsOn

Описание

Настраивает спрайт на автоматическое столкновение с помощью встроенной физической системы. После того как вы настроили спрайт на управление физикой, вы должны использовать SetSpritePosition и SetSpriteAngle экономно, так как они будут прерывать физическое движение спрайта. Вы также можете использовать SetSpritePhysicsVelocity и SetSpritePhysicsAngularVelocity для изменения скорости и направления спрайта, но опять же они будут мешать физическому движению спрайта. Если вы хотите повлиять на положение или вращение физического спрайта, вы должны использовать функции силы и крутящего момента (вращательной силы) там, где это возможно, они будут поддерживать плавное физическое движение. Параметр mode позволяет выбрать, как спрайт должен вести себя в физическом мире. Статическое означает, что он никогда не будет двигаться или вращаться, динамическое означает, что он будет реагировать на все столкновения и силы, с которыми он сталкивается, включая гравитацию и столкновения со статическими объектами. Кинематика-это особый случай, который можно рассматривать как движущееся статическое тело, оно не будет реагировать на столкновения или силы и будет продолжать двигаться с заданной скоростью вечно, но динамические элементы будут реагировать на него и эффективно выталкиваться с пути. Используемая физическая форма определяется командой SetSpriteShape, которая должна быть вызвана перед этой командой и дорого изменяется для круговых и полигональных форм, поскольку они восстанавливают форму из пикселей изображения спрайта. После того как вы вызвали эту команду для определения режима спрайта, дальнейшие вызовы будут игнорировать значения режима и она будет только повторно активировать спрайт, который был выключен, так как режим не может быть изменен, пока спрайт находится в физической системе. Если вы хотите изменить режим спрайта, вызовите SetSpritePhysicsDelete, который удалит все его физические настройки, а затем вызовите SetSpritePhysicsOn с новым режимом. Но делать это слишком часто будет замедлять работу системы. Все физические спрайты должны быть мировыми спрайтами (не фиксированными на экране), если только SetViewOffset не установлен на 0,0, и в этом случае это не имеет значения. В противном случае отладочные фигуры не будут выстраиваться в линию, а спрайты из разных пространств просмотра не будут взаимодействовать должным образом.

Определение

void agk::SetSpritePhysicsOn( UINT iSpriteIndex, int mode )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
mode - Физический режим, используемый для этого спрайта, 1=статический, 2=динамический, 3=кинематический

Пример кода


SetSpritePhysicsMass

Описание

Эта команда переопределяет вычисленную массу для этого спрайта и устанавливает ее в выбранное вами значение в килограммах. Установка этого значения слишком низко или слишком высоко может привести к нестабильной симуляции, особенно если очень легкий объект встречается с очень тяжелым. Диапазон значений, который вы должны использовать, зависит от выбранной вами шкалы физики. Внутренне масса по умолчанию для каждого объекта вычисляется на основе его размера. Коробка размером 1 х 1 м будет весить 1 кг, поэтому из-за стандартной шкалы физики 5 коробка размером 5 х 5 в виртуальных единицах весит 1 кг.

Определение

void agk::SetSpritePhysicsMass( UINT iSpriteIndex, float mass )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
mass - Новое массовое значение.

Пример кода


SetSpritePhysicsOff

Описание

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

Определение

void agk::SetSpritePhysicsOff( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.

Пример кода


SetSpritePhysicsIsBullet

Описание

Установите это значение в true, если спрайт, скорее всего, будет двигаться очень быстро, как пуля, так как затем он будет более тщательно проверяться на столкновение с другими динамическими спрайтами, использование которых без необходимости повлияет на производительность. Это называется непрерывным обнаружением столкновений (CCD) и автоматически применяется к проверке столкновений между этим спрайтом и статическими объектами. Эта команда включает CCD для проверки коллизий между этим спрайтом и динамическими объектами. Это не сработает, если global CCD будет отключен с помощью SetPhysicsCCD.

Определение

void agk::SetSpritePhysicsIsBullet( UINT iSpriteIndex, int bullet )

Параметры

iSpriteIndex - Идентификатор спрайта, который нужно изменить.
bullet - 1, чтобы установить этот спрайт в качестве пули, 0, чтобы выключить его.

Пример кода


SetSpritePhysicsIsSensor

Описание

Установите это значение равным 1, чтобы сделать спрайт сенсорным объектом. Физические датчики обнаруживают столкновения и контакты, но не реагируют на них, они также не влияют ни на что, что попадает в них. Их единственная цель-обнаружение столкновений. Если вы примените это к динамическому телу, оно ни с чем не столкнется и, скорее всего, провалится сквозь пол и будет падать вечно, на него все еще действуют силы. По умолчанию это устанавливает все фигуры в одно и то же значение, вы можете установить это значение для каждой фигуры, указав значение shapeID больше 0. Идентификаторы фигур начинаются с 1 для первой фигуры, а shapeID 0 означает применить его ко всем фигурам.

Определение

void agk::SetSpritePhysicsIsSensor( UINT iSpriteIndex, int sensor )
void agk::SetSpritePhysicsIsSensor( UINT iSpriteIndex, int sensor, int shapeID )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
sensor - 1, чтобы установить этот спрайт в качестве датчика, 0, чтобы сделать его нормальным физическим объектом.
shapeID - идентификатор изменяемой фигуры, 0 для установки всех фигур спрайта на это значение

Пример кода


SetSpritePhysicsImpulse

Описание

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

Определение

void agk::SetSpritePhysicsImpulse( UINT iSpriteIndex, float x, float y, float vx, float vy )

Параметры

iSpriteIndex - Идентификатор спрайта, который нужно изменить.
x - Координата X положения импульса в мировых координатах.
y - Координата Y положения импульса в мировых координатах.
vx - X-составляющая направления импульса.
vy - Y-составляющая направления импульса.

Пример кода


SetSpritePhysicsFriction

Описание

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

Определение

void agk::SetSpritePhysicsFriction( UINT iSpriteIndex, float friction )
void agk::SetSpritePhysicsFriction( UINT iSpriteIndex, float friction, int shapeID )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
friction - Новое значение трения.
shapeID - Идентификатор изменяемой фигуры, 0 для применения значения ко всем фигурам

Пример кода


SetSpritePhysicsForce

Описание

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

Определение

void agk::SetSpritePhysicsForce( UINT iSpriteIndex, float x, float y, float vx, float vy )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
x - Координата X положения силы в мировых координатах.
y - Координата Y положения силы в мировых координатах.
vx - X-составляющая направления силы.
vy - Y-составляющая направления силы.

Пример кода


SetSpritePhysicsDelete

Описание

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

Определение

void agk::SetSpritePhysicsDelete( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта, который нужно изменить.

Пример кода


SetSpritePhysicsDensity

Описание

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

Определение

void agk::SetSpritePhysicsDensity( UINT iSpriteIndex, float density, int shapeID )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения
density - Новое значение плотности по умолчанию равно 1.0
shapeID - Идентификатор изменяемой фигуры, 0 для применения значения ко всем фигурам

Пример кода


SetSpritePhysicsDamping

Описание

Устанавливает некоторое демпфирование линейного движения спрайта, которое может имитировать что-то вроде сопротивления ветру. Значение 0 означает отсутствие демпфирования, значение 0,75 будет уменьшать вектор скорости наполовину каждую секунду при работе со скоростью 60 кадров в секунду. Более высокие значения приведут к более быстрому снижению скорости.

Определение

void agk::SetSpritePhysicsDamping( UINT iSpriteIndex, float damp )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
damp - Новое значение демпфирования.

Пример кода


SetSpritePhysicsCanRotate

Описание

Задает, разрешено ли физическому моделированию вращать спрайт.

Определение

void agk::SetSpritePhysicsCanRotate( UINT iSpriteIndex, int rotate )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
rotate - 1, чтобы разрешить вращение, 0, чтобы предотвратить его.

Пример кода


SetSpritePhysicsCOM

Описание

Устанавливает центр масс (COM) относительно смещения спрайта. По умолчанию AGK вычисляет наилучшее местоположение для COM на основе размера и расположения всех фигур, прикрепленных к спрайту. Установка его на 0,0 поставит COM на точку смещения спрайта (и центр вращения). Если COM сильно отличается от точки смещения, спрайт может показаться нестабильным, так как он будет вести себя как несбалансированный волчок.

Определение

void agk::SetSpritePhysicsCOM( UINT iSpriteIndex, float x, float y )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
x - Координата x центра масс.
y - Координата y центра масс.

Пример кода


SetSpritePhysicsAngularImpulse

Описание

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

Определение

void agk::SetSpritePhysicsAngularImpulse( UINT iSpriteIndex, float impulse )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
impulse - Размер силы, приложенной к вращению спрайта. может быть отрицательным.

Пример кода


SetSpritePhysicsAngularVelocity

Описание

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

Определение

void agk::SetSpritePhysicsAngularVelocity( UINT iSpriteIndex, float va )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
va - Новая угловая скорость.

Пример кода


SetSpritePhysicsAngularDamping

Описание

Устанавливает некоторое демпфирование углового движения спрайта, которое может имитировать что-то вроде сопротивления ветру. Значение 0 означает отсутствие демпфирования, значение 0,75 будет уменьшать вектор угловой скорости наполовину каждую секунду при работе со скоростью 60 кадров в секунду. Более высокие значения уменьшат вращение быстрее.

Определение

void agk::SetSpritePhysicsAngularDamping( UINT iSpriteIndex, float damp )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
damp - Новое значение демпфирования.

Пример кода


SetSpriteOffset

Описание

Точка смещения-это точка, вокруг которой будет вращаться спрайт,причем (0,0) - верхний левый угол, а (ширина, высота) - нижний правый угол. Смещение также можно использовать для позиционирования спрайта с помощью SetSpritePositionByOffset, в то время как SetSpritePosition всегда будет позиционировать спрайт с помощью его верхнего левого угла. Если спрайт масштабируется, не забудьте принять во внимание масштаб,спрайт, созданный как 10 на 10 единиц в ширину, масштабированный на 0,5, будет иметь нижний правый угол на уровне 5,5, поэтому расположить смещение в центре означало бы поместить его на 2,5, 2,5, когда спрайт масштабируется обратно, точка смещения будет масштабироваться вместе с ним, чтобы сохранить свое относительное положение. Эта команда вызывает пересчет формы спрайта из-за новой центральной точки, дополнительные формы не пересчитываются, поэтому будут искажены от их первоначального определения. Не рекомендуется вызывать эту команду на спрайте, уже настроенном для физики. Измените смещение перед применением физики или дополнительных фигур.

Определение

void agk::SetSpriteOffset( UINT iSpriteIndex, float x, float y )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
x - Расстояние X от верхнего левого угла для смещения точки вращения.
y - Расстояние Y от верхнего левого угла до смещения точки поворота.

Пример кода


SetSpriteImage

Описание

Измените изображение спрайта на новое загруженное изображение. Если новое изображение имеет другой размер или форму, чем старое, спрайт может выглядеть искаженным в результате, вы можете исправить это, сбросив размеры спрайта с помощью SetSpriteSize. Если спрайт анимирован, вам также может потребоваться снова вызвать SetSpriteAnimation. В случае круговых и полигональных спрайтов вы можете установить, использует ли спрайт это новое изображение для изменения своей формы столкновения. На форму коробки изменения изображения не влияют. Использование этой команды очистит все анимационные кадры, которые вы установили с помощью любой из команд sprite animation.

Определение

void agk::SetSpriteImage ( UINT iSpriteIndex, UINT iImageIndex, int bUpdateShape )
void agk::SetSpriteImage ( UINT iSpriteIndex, UINT iImageIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
iImageIndex - Идентификатор изображения, которое будет использоваться для этого спрайта.
bUpdateShape - Задает, следует ли изменить форму столкновения этого спрайта в соответствии с новым изображением. ( 1 или 0 )

Пример кода


SetSpriteGroup

Описание

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

Определение

void agk::SetSpriteGroup( UINT iSpriteIndex, int group, int shapeID )
void agk::SetSpriteGroup( UINT iSpriteIndex, int group )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
group - Идентификатор группы, назначаемый этому спрайту.
shapeID - идентификатор изменяемой фигуры, 0 для установки всех фигур спрайта на это значение

Пример кода


SetSpriteFrame

Описание

Устанавливает спрайт на определенный кадр, кадры начинаются с 1 и заканчиваются на GetSpriteFrameCount

Определение

void agk::SetSpriteFrame( UINT iSpriteIndex, int iFrame )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
iFrame - Идентификатор кадра, на который должен измениться этот спрайт, имеет немедленный эффект.

Пример кода


SetSpriteFlip

Описание

Переворачивает спрайт либо по горизонтали, либо по вертикали (или и то, и другое). Это просто изменяет УФ-координаты так, чтобы спрайт выглядел перевернутым, он не регулирует значения положения или угла. Обратите внимание, что переворачивание как в горизонтальном, так и в вертикальном направлениях одновременно дает видимость поворота на 180 градусов.

Определение

void agk::SetSpriteFlip ( UINT iSpriteIndex, int horz, int vert )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
horz - 1, чтобы перевернуть спрайт горизонтально слева направо, 0, чтобы сохранить спрайт нормальным.
vert - 1, чтобы перевернуть спрайт вертикально сверху вниз, 0, чтобы сохранить спрайт нормальным.

Пример кода


SetSpriteDepth

Описание

Устанавливает порядок рисования спрайта между 0-10000, 0 - передняя часть экрана, 10000 - задняя. Все, что выше 10000, приведет к тому, что спрайт будет вырезан из поля зрения. По умолчанию спрайты находятся на глубине 10. Если два спрайта занимают одну и ту же глубину, то порядок их рисования не определен, если только SetSortCreated не используется в значении true, и в этом случае спрайты на одной и той же глубине будут нарисованы в том порядке, в котором они были созданы. Для максимальной производительности рекомендуется, чтобы каждый спрайт имел свое собственное значение глубины, если только порядок их рисования не имеет значения, например, физические спрайты, которые обычно не перекрываются. Обратите внимание, что если вы не используете КАКИЕ-либо 3D-объекты и используете глубину спрайта больше 5000, вы должны использовать SetGlobal3DDepth до 10000 для повышения производительности (по существу, выводя все спрайты на переднюю панель 3D-рендера).

Определение

void agk::SetSpriteDepth ( UINT iSpriteIndex, int iDepth )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
iDepth - Глубина, на которой должен быть нарисован этот спрайт.

Пример кода


SetSpriteColorBlue

Описание

Установите синий компонент спрайта.

Определение

void agk::SetSpriteColorBlue( UINT iSpriteIndex, int iBlue )

Параметры

iSpriteIndex - Идентификатор спрайта, который нужно изменить.
iBlue - Синяя составляющая цвета. Допустимый диапазон-от 0 до 255.

Пример кода


SetSpriteColorGreen

Описание

Установите зеленый компонент спрайта.

Определение

void agk::SetSpriteColorGreen( UINT iSpriteIndex, int iGreen )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
iGreen - Зеленая составляющая цвета. Допустимый диапазон-от 0 до 255.

Пример кода


SetSpriteColorRed

Описание

Установите красный компонент спрайта.

Определение

void agk::SetSpriteColorRed( UINT iSpriteIndex, int iRed )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
iRed - Красная составляющая цвета. Допустимый диапазон-от 0 до 255.

Пример кода


SetSpriteColorAlpha

Описание

Установите альфа-компонент спрайта.

Определение

void agk::SetSpriteColorAlpha( UINT iSpriteIndex, int iAlpha )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
iAlpha - Альфа-компонент цвета. Допустимый диапазон-от 0 до 255. При использовании значения 0 спрайт будет невидим. При использовании значения 255 спрайт будет полностью непрозрачным.

Пример кода


SetSpriteColor

Описание

Установите цвет спрайта.

Определение

void agk::SetSpriteColor( UINT iSpriteIndex, int iRed, int iGreen, int iBlue, int iAlpha )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
iRed - Красная составляющая цвета.
iGreen - Зеленая составляющая цвета.
iBlue - Синяя составляющая цвета.
iAlpha - Альфа-компонент цвета. Допустимый диапазон-от 0 до 255. При использовании значения 0 спрайт будет невидим. При использовании значения 255 спрайт будет полностью непрозрачным.

Пример кода


SetSpriteCollideBits

Описание

Использует побитовую маску, чтобы определить, с какими категориями спрайтов этот спрайт может столкнуться. Спрайты назначаются категориям с помощью SetSpriteCategoryBits. Существует 16 категорий, каждая из которых представлена одним битом в параметре маска, значение 1 для бита означает, что этот спрайт столкнется со спрайтами из этой категории, и 0-что он не столкнется с этой категорией, независимо от того, к какой категории принадлежит сам этот спрайт. По умолчанию все спрайты принадлежат к категории 1 (0x0001 самый правый бит) и сталкиваются со всеми категориями (0xffff). Если спрайт не настроен на физику, этот тест будет применяться только к базовой фигуре в shapeID 1. По умолчанию это устанавливает все фигуры в одно и то же значение, вы можете установить это значение для каждой фигуры, указав значение shapeID больше 0. Идентификаторы фигур начинаются с 1 для первой фигуры, а shapeID 0 означает применить его ко всем фигурам.

Определение

void agk::SetSpriteCollideBits( UINT iSpriteIndex, UINT mask )
void agk::SetSpriteCollideBits( UINT iSpriteIndex, UINT mask, int shapeID )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
mask - Побитовая маска категорий, с которой этот спрайт может столкнуться во время физических вычислений.
shapeID - идентификатор изменяемой фигуры, 0 для установки всех фигур спрайта на это значение

Пример кода


SetSpriteCategoryBits

Описание

Присваивает спрайту ноль или более категорий для фильтрации столкновений (физические и нефизические). Существует 16 категорий, каждая из которых представлена одним битом в параметре категории, значение 1 для бита означает, что этот спрайт является частью этой категории, а 0-что он не принадлежит к этой категории. Затем спрайты могут быть настроены на столкновение с определенными категориями с помощью SetSpriteCollideBits независимо от того, к каким категориям они сами принадлежат. По умолчанию все спрайты относятся к категории 1 (0x0001 самый правый бит) и сталкиваются со всеми категориями (0xffff). Если спрайт не настроен на физику, этот тест будет применяться только к базовой фигуре в shapeID 1. По умолчанию это устанавливает все фигуры в одно и то же значение, вы можете установить это значение для каждой фигуры, указав значение shapeID больше 0. Идентификаторы фигур начинаются с 1 для первой фигуры, а shapeID 0 означает применить его ко всем фигурам.

Определение

void agk::SetSpriteCategoryBits( UINT iSpriteIndex, UINT categories, int shapeID )
void agk::SetSpriteCategoryBits( UINT iSpriteIndex, UINT categories )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
categories - Побитовое поле категорий, назначаемое этому спрайту.
shapeID - идентификатор изменяемой фигуры, 0 для установки всех фигур спрайта на это значение

Пример кода


SetSpriteCollideBit

Описание

Устанавливает или удаляет категорию, с которой может столкнуться этот спрайт. Спрайтам присваиваются категории с помощью SetSpriteCategoryBit. Существует 16 категорий, значение 1 для этой категории означает, что этот спрайт столкнется со спрайтами из этой категории, а 0-что он не столкнется с этой категорией, независимо от того, к какой категории принадлежит сам этот спрайт. По умолчанию все спрайты относятся к категории 1 и сталкиваются со всеми категориями. Эта команда похожа на SetSpriteCategoryBits, за исключением того, что эта команда устанавливает одну категорию за раз, в то время как эта команда устанавливает их все сразу, используя битовую маску. По умолчанию это устанавливает все фигуры в одно и то же значение, вы можете установить это значение для каждой фигуры, указав значение shapeID больше 0. Идентификаторы фигур начинаются с 1 для первой фигуры, а shapeID 0 означает применить его ко всем фигурам.

Определение

void agk::SetSpriteCollideBit( UINT iSpriteIndex, UINT category, int flag, int shapeID )
void agk::SetSpriteCollideBit( UINT iSpriteIndex, UINT category, int flag )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
category - Категория, включающая или выключающая столкновение для этого спрайта, должна быть от 1 до 16 включительно.
flag - 1, чтобы включить столкновение, 0, чтобы выключить его для этого спрайта.
shapeID - идентификатор изменяемой фигуры, 0 для установки всех фигур спрайта на это значение

Пример кода


SetSpriteCategoryBit

Описание

Назначает или удаляет спрайт из определенной категории. Существует 16 категорий, к которым может принадлежать спрайт, и спрайт может принадлежать к любому числу сразу. Эта команда похожа на SetSpriteCategoryBits, за исключением того, что эта команда устанавливает одну категорию за раз, в то время как эта команда устанавливает их все сразу, используя битовую маску. По умолчанию это устанавливает все фигуры в одно и то же значение, вы можете установить это значение для каждой фигуры, указав значение shapeID больше 0. Идентификаторы фигур начинаются с 1 для первой фигуры, а shapeID 0 означает применить его ко всем фигурам.

Определение

void agk::SetSpriteCategoryBit( UINT iSpriteIndex, UINT category, int flag )
void agk::SetSpriteCategoryBit( UINT iSpriteIndex, UINT category, int flag, int shapeID )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
category - Категория, которую нужно изменить, должна быть от 1 до 16 включительно.
flag - 1, чтобы сделать спрайт частью этой категории, 0, чтобы удалить его.
shapeID - идентификатор изменяемой фигуры, 0 для установки всех фигур спрайта на это значение

Пример кода


SetSpriteAnimation

Описание

Инициализирует анимацию спрайта кадрами из назначенного ему изображения на основе ширины и высоты кадра. Спрайт будет использовать ширину и высоту кадра для извлечения изображений этого размера из назначенного ему изображения, начиная с верхнего левого угла и перемещаясь слева направо. Когда он достигнет правой части изображения, он снова начнет двигаться на одну строку вниз, снова двигаясь слева направо, пока не будет достигнуто количество кадров или не закончится место на изображении для поиска кадров. Поддерживается сохранение анимационного изображения на текстуре атласа. Эта функция является предпочтительным методом назначения анимации спрайту, поскольку она позволяет избежать дорогостоящих изменений изображения во время рендеринга. Однако если все ваши анимационные кадры являются отдельными изображениями, вы можете использовать AddSpriteAnimationFrame для добавления кадров из изображений по отдельности. Использование SetSpriteImage очистит все анимационные кадры, которые вы установили здесь.

Определение

void agk::SetSpriteAnimation( UINT iSpriteIndex, int iFrameWidth, int iFrameHeight, int iFrameCount )

Параметры

iSpriteIndex - Идентификатор спрайта, который нужно установить для анимации.
iFrameWidth - Ширина кадров в пикселях на изображении.
iFrameHeight - Высота кадров в пикселях на изображении.
iFrameCount - Количество кадров, которые спрайт должен попытаться извлечь из изображения.

Пример кода


SetSpriteAngleRad

Описание

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

Определение

void agk::SetSpriteAngleRad( UINT iSpriteIndex, float fAng )

Параметры

iSpriteIndex - Идентификатор вращаемого спрайта.
fAng - Угол установки спрайта в радианах.

Пример кода


SetSpriteAngle

Описание

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

Определение

void agk::SetSpriteAngle( UINT iSpriteIndex, float fAng )

Параметры

iSpriteIndex - Идентификатор вращаемого спрайта.
fAng - Угол установки спрайта в градусах.

Пример кода


SetSpriteAdditionalImage

Описание

Добавляет в спрайт дополнительные изображения, которые можно использовать с шейдерами. Набор изображений с помощью SetSpriteImage используется в качестве этапа текстуры 0, и эта команда позволит вам установить этапы от 1 до 7. Эти дополнительные изображения не играют никакой роли в анимации или вычислениях формы. Обратите внимание, что спрайт будет иметь одинаковые УФ-координаты для каждой текстуры, поэтому рекомендуется, чтобы изображения имели одинаковые размеры или использовали мощность 2 изображений, чтобы избежать УФ-преобразования на мобильных устройствах, где изображения могут быть масштабированы.

Определение

void agk::SetSpriteAdditionalImage ( UINT iSpriteIndex, UINT iImageIndex, int iStage )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
iImageIndex - Идентификатор изображения, которое будет использоваться для этого спрайта.
iStage - Индекс используемой стадии текстуры находится в диапазоне от 1 до 7.

Пример кода


SetSpriteActive

Описание

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

Определение

void agk::SetSpriteActive ( UINT iSpriteIndex, int bActive )

Параметры

iSpriteIndex - Идентификатор спрайта, который нужно изменить.
bActive - Установите значение 1, если этот спрайт должен быть обновлен, и 0, если нет.

Пример кода


ResumeSprite

Описание

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

Определение

void agk::ResumeSprite( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для возобновления анимации.

Пример кода


ResetSpriteUV

Описание

Эта команда восстанавливает нормальную функциональность UV-координат после вызова SetSpriteUV.

Определение

void agk::ResetSpriteUV( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.

Пример кода


PlaySprite

Описание

Начинается анимация спрайта на основе заданных значений. Скорость анимации основана на кадрах анимации в секунду и не зависит от частоты кадров рисования.

Определение

void agk::PlaySprite( UINT iSpriteIndex )
void agk::PlaySprite( UINT iSpriteIndex, float fFps )
void agk::PlaySprite( UINT iSpriteIndex, float fFps, int iLoop )
void agk::PlaySprite( UINT iSpriteIndex, float fFps, int iLoop, int iFromFrame, int iToFrame )

Параметры

iSpriteIndex - Идентификатор анимируемого спрайта.
fFps - Кадров в секунду. Количество кадров, которые спрайт должен пытаться циклически проходить каждую секунду (необязательно, по умолчанию 10).
iLoop - Режим зацикливания спрайта, 0 равно не зацикливаться, 1 равно зацикливаться навсегда (необязательно, по умолчанию 1).
iFromFrame - Кадр, с которого нужно начать, начинается с 1 (необязательно, по умолчанию минус 1).
iToFrame - Фрейм, на который нужно закончить, фреймы заканчиваются на GetSpriteFrameCount (необязательно, по умолчанию минус 1).

Пример кода


LoadSprite

Описание

Создает спрайт в пустом идентификаторе спрайта с явным изображением для использования при рендеринге, возвращает используемый идентификатор спрайта. По умолчанию спрайты создаются с глубиной 10, имеют размер, используя данное изображение в качестве направляющей, и позиционируются на 0,0, используя их верхний левый угол. Если назначенное изображение имеет альфа-пиксели, то спрайт создается с режимом прозрачности 1, в противном случае он использует режим прозрачности 0 (непрозрачный) Эта команда берет имя файла изображения и загружает его специально для этого спрайта, это изображение будет удалено, когда спрайт будет удален. Если много спрайтов собираются использовать одно и то же изображение, вы должны загрузить его отдельно и передать его идентификатор команде CreateSprite для экономии памяти.

Определение

UINT agk::LoadSprite( const char* imagefile )
void agk::LoadSprite( UINT iSpriteIndex, const char* imagefile )

Параметры

imagefile - Имя файла изображения, которое будет использоваться при рисовании этого спрайта
iSpriteIndex - Идентификатор спрайта, который будет использоваться для ссылки на этот спрайт позже (отдельно от идентификаторов изображений, поэтому может быть как спрайт 1, так и изображение 1)

Пример кода


GetWorldYFromSprite

Описание

Преобразует точку на спрайте в мировые координаты. Например,если спрайт 10x10 был повернут на 45 градусов вокруг своей центральной точки (в точке 5x5), то, чтобы найти положение в мире верхнего левого угла спрайта, вы бы вызвали эту команду со значениями -5, -5, так как значения относятся к центральной точке спрайта (определяемой SetSpriteOffset). Команда не ограничена размером спрайта, поэтому в приведенном выше примере допустимы значения 20 или -15.

Определение

float agk::GetWorldYFromSprite( UINT iSpriteIndex, float x, float y )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.
x - X-компонент точки на спрайте.
y - Компонент Y точки на спрайте.

Пример кода


GetWorldXFromSprite

Описание

Преобразует точку на спрайте в мировые координаты. Например,если спрайт 10x10 был повернут на 45 градусов вокруг своей центральной точки (в точке 5x5), то, чтобы найти положение в мире верхнего левого угла спрайта, вы бы вызвали эту команду со значениями -5, -5, так как значения относятся к центральной точке спрайта (определяемой SetSpriteOffset). Команда не ограничена размером спрайта, поэтому в приведенном выше примере допустимы значения 20 или -15.

Определение

float agk::GetWorldXFromSprite( UINT iSpriteIndex, float x, float y )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.
x - X-компонент точки на спрайте.
y - Компонент Y точки на спрайте.

Пример кода


GetSpriteYFromPixel

Описание

Преобразует точку пикселя на изображении спрайта в точку на поверхности спрайта, которая представляет, где находится этот пиксель. Например, если изображение размером 200x100 пикселей было назначено спрайту размером 10x10, то вызов этой команды со значением пикселя 50 (центр изображения) вернет 5 (центр спрайта). Для этого спрайту должно быть назначено изображение, иначе он всегда будет возвращать 0. Команда не ограничена размером изображения или спрайта, поэтому в приведенном выше примере допустимо значение пикселя 300 или -10.

Определение

float agk::GetSpriteYFromPixel( UINT iSpriteIndex, int y )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.
y - Координата y пикселя для проверки.

Пример кода


GetSpriteYByOffset

Описание

Возвращает текущую координату Y текущей точки смещения спрайта в мире.

Определение

float agk::GetSpriteYByOffset( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для извлечения

Пример кода


GetSpriteY

Описание

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

Определение

float agk::GetSpriteY( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для извлечения

Пример кода


GetSpriteXFromWorld

Описание

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

Определение

float agk::GetSpriteXFromWorld( UINT iSpriteIndex, float x, float y )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.
x - X-компонент точки для преобразования в координаты спрайта.
y - Компонент Y точки для преобразования в координаты спрайта.

Пример кода


GetSpriteXFromPixel

Описание

Преобразует точку пикселя на изображении спрайта в точку на поверхности спрайта, которая представляет, где находится этот пиксель. Например, если изображение размером 200x100 пикселей было назначено спрайту размером 10x10, то вызов этой команды со значением пикселя 100 (центр изображения) вернет 5 (центр спрайта). Для этого спрайту должно быть назначено изображение, иначе он всегда будет возвращать 0. Команда не ограничена размером изображения или спрайта, поэтому в приведенном выше примере допустимо значение пикселя 300 или -10.

Определение

float agk::GetSpriteXFromPixel( UINT iSpriteIndex, int x )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.
x - Координата x пикселя для проверки.

Пример кода


GetSpriteXByOffset

Описание

Возвращает текущую координату X текущей точки смещения спрайта в мире.

Определение

float agk::GetSpriteXByOffset( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для извлечения

Пример кода


GetSpriteX

Описание

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

Определение

float agk::GetSpriteX( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для извлечения

Пример кода


GetSpriteVisible

Описание

Возвращает 0, если спрайт был установлен как невидимый с помощью SetSpriteVisible, в противном случае возвращает 1.

Определение

int agk::GetSpriteVisible( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.

Пример кода


GetSpriteTransparency

Описание

Возвращает текущий режим прозрачности спрайта, 0=отсутствие прозрачности, 1=прозрачность альфа-канала, 2=аддитивное смешивание.

Определение

int agk::GetSpriteTransparency( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.

Пример кода


GetSpriteYFromWorld

Описание

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

Определение

float agk::GetSpriteYFromWorld( UINT iSpriteIndex, float x, float y )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.
x - X-компонент точки для преобразования в координаты спрайта.
y - Компонент Y точки для преобразования в координаты спрайта.

Пример кода


GetSpriteShapeVertexY

Описание

Возвращает значение Y данной вершины в заданной форме. Это относится только к полигональным и цепным формам. Идентификаторы фигур начинаются с 1 для первой фигуры вплоть до значения, возвращаемого GetSpriteNumShapes. Идентификаторы вершин начинаются с 1 для первой вершины вплоть до значения, возвращаемого GetSpriteShapeNumVertices

Определение

float agk::GetSpriteShapeVertexY( UINT iSpriteIndex, int shapeID, int vertex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки
shapeID - Идентификатор формы для проверки
vertex - идентификатор проверяемой вершины, вершины начинаются с идентификатора 1.

Пример кода


GetSpriteWidth

Описание

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

Определение

float agk::GetSpriteWidth( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для извлечения

Пример кода


GetSpriteShapeVertexX

Описание

Возвращает значение X данной вершины в заданной форме. Это относится только к полигональным и цепным формам. Идентификаторы фигур начинаются с 1 для первой фигуры вплоть до значения, возвращаемого GetSpriteNumShapes. Идентификаторы вершин начинаются с 1 для первой вершины вплоть до значения, возвращаемого GetSpriteShapeNumVertices

Определение

float agk::GetSpriteShapeVertexX( UINT iSpriteIndex, int shapeID, int vertex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки
shapeID - Идентификатор формы для проверки
vertex - идентификатор проверяемой вершины, вершины начинаются с идентификатора 1.

Пример кода


GetSpriteShapeNumVertices

Описание

Возвращает количество вершин в заданной форме. Это относится только к полигональным и цепным формам. Идентификаторы фигур начинаются с 1 для первой фигуры вплоть до значения, возвращаемого GetSpriteNumShapes.

Определение

int agk::GetSpriteShapeNumVertices( UINT iSpriteIndex, int shapeID )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки
shapeID - Идентификатор формы для проверки

Пример кода


GetSpriteScaleY

Описание

Возвращает текущее масштабирование спрайта в направлении Y как задано с помощью SetSpriteScale или SetSpriteScaleByOffset

Определение

float agk::GetSpriteScaleY( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для извлечения

Пример кода


GetSpriteScaleX

Описание

Возвращает текущее масштабирование спрайта в направлении X как задано с помощью SetSpriteScale или SetSpriteScaleByOffset

Определение

float agk::GetSpriteScaleX( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для извлечения

Пример кода


GetSpritePlaying

Описание

Возвращает 1, если спрайт в данный момент воспроизводит анимацию, и 0, если нет.

Определение

int agk::GetSpritePlaying( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.

Пример кода


GetSpritePixelFromX

Описание

Преобразует точку на изображении спрайта в пиксель на изображении спрайта, который находится под этой точкой. Например, если изображение размером 200x100 пикселей было назначено спрайту размером 10x10, то вызов этой команды со значением пикселя 5 (центр спрайта) вернет 100 (центр изображения). Для этого спрайту должно быть назначено изображение, иначе он всегда будет возвращать 0. Команда не ограничена размером изображения или спрайта, поэтому в приведенном выше примере значение пикселя 20 или -1 будет допустимым.

Определение

int agk::GetSpritePixelFromX( UINT iSpriteIndex, float x )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.
x - Координата x точки спрайта для проверки.

Пример кода


GetSpritePixelFromY

Описание

Преобразует точку на изображении спрайта в пиксель на изображении спрайта, который находится под этой точкой. Например, если изображение размером 200x100 пикселей было назначено спрайту размером 10x10, то вызов этой команды со значением пикселя 5 (центр спрайта) вернет 50 (центр изображения). Для этого спрайту должно быть назначено изображение, иначе он всегда будет возвращать 0. Команда не ограничена размером изображения или спрайта, поэтому в приведенном выше примере допустимо значение пикселя 20 или -1.

Определение

int agk::GetSpritePixelFromY( UINT iSpriteIndex, float y )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.
y - Координата y точки спрайта для проверки.

Пример кода


GetSpritePhysicsVelocityY

Описание

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

Определение

float agk::GetSpritePhysicsVelocityY( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.

Пример кода


GetSpritePhysicsMass

Описание

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

Определение

float agk::GetSpritePhysicsMass( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.

Пример кода


GetSpritePhysicsCOMX

Описание

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

Определение

float agk::GetSpritePhysicsCOMX( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки

Пример кода


GetSpritePhysicsAngularVelocity

Описание

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

Определение

float agk::GetSpritePhysicsAngularVelocity( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.

Пример кода


GetSpriteOffsetY

Описание

Возвращает компонент Y текущей точки смещения спрайта.

Определение

float agk::GetSpriteOffsetY( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для извлечения

Пример кода


GetSpriteOffsetX

Описание

Возвращает компонент X текущей точки смещения спрайта.

Определение

float agk::GetSpriteOffsetX( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для извлечения

Пример кода


GetSpriteNumShapes

Описание

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

Определение

int agk::GetSpriteNumShapes( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки

Пример кода


GetSpriteInScreen

Описание

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

Определение

int agk::GetSpriteInScreen( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.

Пример кода


GetSpriteInCircle

Описание

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

Определение

int agk::GetSpriteInCircle( UINT iSprite, float x1, float y1, float radius )

Параметры

iSprite - Идентификатор спрайта для проверки
x1 - Координата X центра окружности в мировых координатах.
y1 - Координата Y центра окружности в мировых координатах.
radius - Радиус окружности в мировых координатах.

Пример кода


GetSpritePhysicsVelocityX

Описание

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

Определение

float agk::GetSpritePhysicsVelocityX( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.

Пример кода


GetSpriteInBox

Описание

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

Определение

int agk::GetSpriteInBox( UINT iSprite, float x1, float y1, float x2, float y2 )

Параметры

iSprite - Идентификатор спрайта для проверки
x1 - Координата X верхнего левого угла прямоугольника в мировых координатах.
y1 - Координата Y верхнего левого угла прямоугольника в мировых координатах.
x2 - Координата X в правом нижнем углу прямоугольника в мировых координатах.
y2 - Координата Y нижнего правого угла коробки в мировых координатах.

Пример кода


GetSpriteImageID

Описание

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

Определение

UINT agk::GetSpriteImageID( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.

Пример кода


GetSpritePhysicsCOMY

Описание

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

Определение

float agk::GetSpritePhysicsCOMY( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки

Пример кода


GetSpriteHitTest

Описание

Возвращает 1,если точка x, y в мировых координатах лежит внутри спрайта, 0, если нет. Учитывает вращение и масштабные значения спрайта. Использует форму, назначенную ему из SetSpriteShape, если форма не задана, она использует ширину и высоту спрайта в качестве формы коробки. Если вы тестируете мышь или сенсорную координату, не забудьте преобразовать ее в мировые координаты с помощью ScreenToWorldX и ScreenToWorldY.

Определение

int agk::GetSpriteHitTest ( UINT iSpriteIndex, float x, float y )

Параметры

iSpriteIndex - Спрайт для проверки.
x - Положение x в мировых координатах нужно проверить.
y - Положение y в мировых координатах для проверки.

Пример кода


GetSpriteHitGroup

Описание

Возвращает идентификатор первого спрайта,найденного под точкой x, y в мировых координатах, 0, если нет. Спрайты упорядочены по глубине, поэтому спрайт, появляющийся над другим в порядке розыгрыша, будет возвращен вместо спрайта позади него. Фильтрует результаты только для тех спрайтов, которые находятся в указанной группе. По умолчанию спрайты создаются в группе 0, вы можете изменить это с помощью SetSpriteGroup. Учитывается вращение и масштаб значений спрайта. Он не учитывает прозрачность спрайта, только его форму столкновения. Использует форму, назначенную ему из SetSpriteShape, если форма не задана, то она использует ширину и высоту спрайта в качестве формы коробки. Если вы тестируете мышь или сенсорную координату, не забудьте преобразовать ее в мировые координаты с помощью ScreenToWorldX и ScreenToWorldY.

Определение

int agk::GetSpriteHitGroup( int group, float x, float y )

Параметры

group - Идентификатор группы для проверки.
x - Положение x в мировых координатах нужно проверить.
y - Положение y в мировых координатах для проверки.

Пример кода


GetSpriteHitCategory

Описание

Возвращает идентификатор первого спрайта,найденного под точкой x, y в мировых координатах, 0, если нет. Спрайты упорядочены по глубине, поэтому спрайт, появляющийся над другим в порядке розыгрыша, будет возвращен вместо спрайта позади него. Эта функция фильтрует результаты, поэтому проверяются только спрайты определенных категорий. Параметр category - это побитовое поле, которое использует младшие 16 битов для представления каждой из возможных 16 категорий, используемых при настройке спрайта. Значение по умолчанию all 1s означает, что все категории будут включены, тогда как значение all 0s означает, что никакие категории не будут включены. Вы можете установить отдельные биты, чтобы установить, какие из них должны быть проверены. Вы можете установить, к каким категориям относится спрайт, с помощью SetSpriteCategoryBits. Учитывает вращение и масштабные значения спрайта. Он не учитывает прозрачность спрайта, только его форму столкновения. Использует форму, назначенную ему из SetSpriteShape, если форма не задана, она использует ширину и высоту спрайта в качестве формы коробки. Если вы тестируете мышь или сенсорную координату, не забудьте преобразовать ее в мировые координаты с помощью ScreenToWorldX и ScreenToWorldY.

Определение

int agk::GetSpriteHitCategory( UINT categories, float x, float y )

Параметры

categories - Категории, которые нужно проверить.
x - Положение x в мировых координатах нужно проверить.
y - Положение y в мировых координатах для проверки.

Пример кода


GetSpriteHit

Описание

Возвращает идентификатор первого спрайта,найденного под точкой x, y в мировых координатах, 0, если нет. Спрайты упорядочены по глубине, поэтому спрайт, появляющийся над другим в порядке розыгрыша, будет возвращен вместо спрайта позади него. Учитывает вращение и масштабные значения спрайта. Он не учитывает прозрачность спрайта, только его форму столкновения. Использует форму, назначенную ему из SetSpriteShape, если форма не задана, она использует ширину и высоту спрайта в качестве формы коробки. Если вы тестируете мышь или сенсорную координату, не забудьте преобразовать ее в мировые координаты с помощью ScreenToWorldX и ScreenToWorldY.

Определение

int agk::GetSpriteHit( float x, float y )

Параметры

x - Положение x в мировых координатах нужно проверить.
y - Положение y в мировых координатах для проверки.

Пример кода


GetSpriteHeight

Описание

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

Определение

float agk::GetSpriteHeight( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для извлечения

Пример кода


GetSpriteGroup

Описание

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

Определение

int agk::GetSpriteGroup( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.

Пример кода


GetSpriteFrameCount

Описание

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

Определение

int agk::GetSpriteFrameCount( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для извлечения.

Пример кода


GetSpriteFlippedV

Описание

Возвращает 1, если спрайт был перевернут вертикально с помощью SetSpriteFlip, в противном случае возвращает 0.

Определение

int agk::GetSpriteFlippedV( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.

Пример кода


GetSpriteFlippedH

Описание

Возвращает 1, если спрайт был перевернут горизонтально с помощью SetSpriteFlip, в противном случае возвращает 0.

Определение

int agk::GetSpriteFlippedH( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.

Пример кода


GetSpriteDistancePoint2Y

Описание

Возвращает координату Y ближайшей точки на sprite 2 к sprite 1 из последнего вызова GetSpriteDistance в мировых координатах.

Определение

float agk::GetSpriteDistancePoint2Y( )

Параметры

Пример кода


GetSpriteExists

Описание

Возвращает 1, если спрайт существует, и 0, если нет.

Определение

UINT agk::GetSpriteExists( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки

Пример кода


GetSpriteDistancePoint2X

Описание

Возвращает координату X ближайшей точки на sprite 2 к sprite 1 из последнего вызова GetSpriteDistance в мировых координатах.

Определение

float agk::GetSpriteDistancePoint2X( )

Параметры

Пример кода


GetSpriteDistancePoint1X

Описание

Возвращает координату X ближайшей точки на спрайте 1 к спрайту 2 от последнего вызова GetSpriteDistance в мировых координатах.

Определение

float agk::GetSpriteDistancePoint1X( )

Параметры

Пример кода


GetSpriteDistancePoint1Y

Описание

Возвращает координату Y ближайшей точки на спрайте 1 к спрайту 2 от последнего вызова GetSpriteDistance в мировых координатах.

Определение

float agk::GetSpriteDistancePoint1Y( )

Параметры

Пример кода


GetSpriteDepth

Описание

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

Определение

int agk::GetSpriteDepth( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.

Пример кода


GetSpriteCurrentFrame

Описание

Возвращает текущий идентификатор кадра спрайта.

Определение

int agk::GetSpriteCurrentFrame( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для извлечения.

Пример кода


GetSpriteColorRed

Описание

Возвращает текущий красный компонент спрайта в диапазоне 0-255.

Определение

UINT agk::GetSpriteColorRed( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.

Пример кода


GetSpriteColorBlue

Описание

Возвращает текущий синий компонент спрайта в диапазоне 0-255.

Определение

UINT agk::GetSpriteColorBlue( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.

Пример кода


GetSpriteColorGreen

Описание

Возвращает текущий зеленый компонент спрайта в диапазоне 0-255.

Определение

UINT agk::GetSpriteColorGreen( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.

Пример кода


GetSpriteColorAlpha

Описание

Возвращает текущее альфа-значение спрайта в диапазоне 0-255.

Определение

UINT agk::GetSpriteColorAlpha( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.

Пример кода


GetSpriteCollision

Описание

Проверяет два спрайта на столкновение, если они перекрываются, то возвращает 1. В противном случае возвращает 0. Никакая другая информация не может быть возвращена об этом типе столкновения. Эта команда предназначена в первую очередь для спрайтов, которые не используют физику. Хотя он может быть использован на физических спрайтах, физическая система уже вычислит перекрытие всех физических спрайтов в течение последнего кадра и сохранит результаты в списке контактов. Эта функция фактически выполняет вычисления, необходимые для определения того, перекрываются ли спрайты. Эта функция не ограничена настройками группы или категории. Эта функция работает только с базовой формой спрайта. Любые дополнительные фигуры, добавленные к физическим спрайтам, не будут использоваться в этой функции, вместо этого используйте GetPhysicsCollision. Кроме того, цепные формы всегда не будут возвращать никаких столкновений с помощью этой команды, цепные формы используются только в физических расчетах. Если вы не назначили форму ни одному из спрайтов с помощью SetSpriteShape, они будут использовать форму коробки по умолчанию, основанную на ширине и высоте спрайта.

Определение

int agk::GetSpriteCollision( UINT iSprite1, UINT iSprite2 )

Параметры

iSprite1 - Спрайт для проверки на пересечение со спрайтом 2
iSprite2 - Спрайт для проверки на пересечение со спрайтом 1

Пример кода


GetSpriteAngleRad

Описание

Возвращает текущий угол спрайта в радианах, 0 радианов-это направление x=0 y=-1 и движение по часовой стрелке.

Определение

float agk::GetSpriteAngleRad( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для извлечения.

Пример кода


GetSpriteAngle

Описание

Возвращает текущий угол спрайта в градусах, 0 градусов-это направление x=0 y=-1 и движение по часовой стрелке.

Определение

float agk::GetSpriteAngle( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для извлечения.

Пример кода


GetSpriteActive

Описание

Возвращает 0, если спрайт был установлен как неактивный с помощью SetSpriteActive, в противном случае возвращает 1.

Определение

int agk::GetSpriteActive( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для проверки.

Пример кода


GetSpriteDistance

Описание

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

Определение

float agk::GetSpriteDistance( UINT iSprite1, UINT iSprite2 )

Параметры

iSprite1 - Спрайт для проверки расстояния с помощью спрайта 2
iSprite2 - Спрайт для проверки расстояния с помощью спрайта 1

Пример кода


GetPhysicsCollisionX

Описание

Возвращает координату X точки столкновения от последнего вызова GetPhysicsCollision относительно смещения первого спрайта.

Определение

float agk::GetPhysicsCollisionX( )

Параметры

Пример кода


GetPhysicsCollisionY

Описание

Возвращает координату Y точки столкновения от последнего вызова GetPhysicsCollision относительно смещения первого спрайта.

Определение

float agk::GetPhysicsCollisionY( )

Параметры

Пример кода


GetPhysicsCollisionWorldY

Описание

Возвращает координату Y точки столкновения из последнего вызова GetPhysicsCollision в мировых координатах.

Определение

float agk::GetPhysicsCollisionWorldY( )

Параметры

Пример кода


GetPhysicsCollision

Описание

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

Определение

int agk::GetPhysicsCollision( UINT iSprite1, UINT iSprite2 )

Параметры

iSprite1 - Идентификатор первого спрайта для проверки
iSprite2 - Идентификатор второго спрайта для проверки

Пример кода


GetPhysicsCollisionWorldX

Описание

Возвращает координату X точки столкновения из последнего вызова GetPhysicsCollision в мировых координатах.

Определение

float agk::GetPhysicsCollisionWorldX( )

Параметры

Пример кода


FixSpriteToScreen

Описание

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

Определение

void agk::FixSpriteToScreen( UINT iSpriteIndex, int mode )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
mode - 1=экранный спрайт, 0=мировой спрайт

Пример кода


DrawSprite

Описание

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

Определение

void agk::DrawSprite( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для рисования.

Пример кода


DeleteSprite

Описание

Удаляет спрайт с заданным идентификатором.

Определение

void agk::DeleteSprite( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор удаляемого спрайта

Пример кода


DeleteAllSprites

Описание

Удаляет все спрайты, созданные с помощью CreateSprite, CreateDummySprite или LoadSprite. Это также сбрасывает идентификатор автоматического спрайта до 10000.

Определение

void agk::DeleteAllSprites()

Параметры

Пример кода


CreateSprite

Описание

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

Определение

UINT agk::CreateSprite( UINT iImageIndex )
void agk::CreateSprite( UINT iSpriteIndex, UINT iImageIndex )

Параметры

iImageIndex - Идентификатор изображения, которое будет использоваться при рисовании этого спрайта
iSpriteIndex - Идентификатор спрайта, который будет использоваться для ссылки на этот спрайт позже (отдельно от идентификаторов изображений, поэтому может быть как спрайт 1, так и изображение 1)

Пример кода


CreateDummySprite

Описание

Создает спрайт в заданном идентификаторе спрайта, возвращает используемый идентификатор спрайта. Фиктивные спрайты ведут себя как обычные спрайты, но не имеют никакого изображения или другого визуального аспекта. Они не будут нарисованы, даже если им присвоено изображение. Они полезны для добавления физических объектов в сцену без необходимости визуального сопровождения физической формы. При желании вы можете использовать команды физического контакта и обратной связи, чтобы выяснить, что поразило эти скрытые физические формы. Если вам не нужно знать, что попало в ваши скрытые фигуры, то вы можете добавить их все в один фиктивный спрайт, используя команды AddSpriteShape для лучшей производительности. SetSpriteShape не будет работать с фиктивными спрайтами, так как у них нет изображения для вычисления фигуры, фигуры должны быть определены вручную с помощью SetSpriteShapeBox, SetSpriteShapeCircle или SetSpriteShapePolygon. Фиктивные спрайты не будут обновлять свой сохраненный угол и положение с помощью последних версий физики, поэтому вызовы GetSpriteX, GetSpriteY или GetSpriteAngle вернут последнее заданное вами значение. Установка положения спрайта обновит физическое тело до заданного вами положения.

Определение

void agk::CreateDummySprite( UINT iSpriteIndex )
UINT agk::CreateDummySprite( )

Параметры

iSpriteIndex - Идентификатор, используемый для этого спрайта.

Пример кода


CloneSprite

Описание

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

Определение

void agk::CloneSprite( UINT iSpriteIndex, UINT iOtherSprite )
UINT agk::CloneSprite( UINT iOtherSprite )

Параметры

iSpriteIndex - Идентификатор, который будет использоваться для нового спрайта.
iOtherSprite - Идентификатор спрайта для копирования.

Пример кода


ClearSpriteShapes

Описание

Удаляет все дополнительные фигуры, примененные к спрайту, и сохраняет только базовую фигуру в shapeID 1.

Определение

void agk::ClearSpriteShapes( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.

Пример кода


ClearSpriteAnimationFrames

Описание

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

Определение

void agk::ClearSpriteAnimationFrames( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта нужно очистить.

Пример кода


CalculateSpritePhysicsCOM

Описание

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

Определение

void agk::CalculateSpritePhysicsCOM( UINT iSpriteIndex )

Параметры

iSpriteIndex - Идентификатор спрайта, который нужно изменить.

Пример кода


AddSpriteShapePolygon

Описание

Добавляет новую форму к спрайту в дополнение к уже имеющимся. Эти дополнительные фигуры применимы только к физическим спрайтам и должны быть добавлены после того, как спрайт был настроен на использование физики. Полигон определяется набором точек (от 2 до 12) относительно смещения текущего спрайта. Например, точка 0,0 будет центрирована на точке смещения спрайта, любое другое значение будет смещено от этой точки. Точки определяются по одной за раз, вызывая эту команду несколько раз, с индексом, начинающимся с 0. Как только индекс равен numPoints-1, фигура будет создана с использованием ранее определенных точек. Как только вы начнете определять точки, вы должны завершить процесс, достигнув index=numPoints-1, прежде чем определять точки для любой другой фигуры. Это приведет к пересчету значений массы и центра масс спрайта.

Определение

void agk::AddSpriteShapePolygon( UINT iSpriteIndex, UINT numPoints, UINT index, float x, float y )

Параметры

iSpriteIndex - Идентификатор спрайта, который нужно изменить.
numPoints - Количество точек, используемых в полигоне, не менее 2, не более 12.
index - Индекс для точек, поэтому вы можете указать индекс 0, 1, 2 и т. Д.
x - Положение X для указанной точки.
y - Положение Y для указанной точки.

Пример кода


AddSpriteShapeCircle

Описание

Добавляет новую форму к спрайту в дополнение к уже имеющимся. Эти дополнительные фигуры применимы только к физическим спрайтам и должны быть добавлены после того, как спрайт был настроен на использование физики. Окружность определяется путем указания ее центральной точки относительно текущего смещения спрайта и радиуса. Например, если круг должен быть центрирован в точке смещения спрайта, он будет указан в позиции 0,0. Любое другое значение будет смещать круг от спрайта. Радиус определяется в координатах x, поскольку мировые координаты не обязательно представляют размер элементов на экране (например, 10 единиц в X могут быть не такими же видимыми размерами, как 10 единиц в Y). Это приведет к пересчету значений массы и центра масс спрайта.

Определение

void agk::AddSpriteShapeCircle( UINT iSpriteIndex, float x, float y, float radius )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
x - Координата X центра окружности в спрайтовом пространстве.
y - Координата Y центра окружности в спрайтовом пространстве.
radius - Радиус окружности.

Пример кода


AddSpriteShapeChain

Описание

Добавляет новую форму к спрайту в дополнение к уже имеющимся. Фигуры могут быть добавлены, даже если спрайт не настроен на физику. Цепочка определяется набором точек (не менее 2) относительно смещения текущего спрайта. Например, точка 0,0 будет центрирована на точке смещения спрайта, любое другое значение будет смещено от этой точки. Цепи являются жесткими и могут быть использованы для создания полых вогнутых полигонов или 2D-ландшафтов. Установите параметр loop равным 1, чтобы соединить два конца цепочки вместе, создав полый многоугольник. Точки определяются по одной за раз, вызывая эту команду несколько раз, с индексом, начинающимся с 0. Как только индекс равен numPoints-1, фигура будет создана с использованием ранее определенных точек. Как только вы начнете определять точки, вы должны завершить процесс, достигнув index=numPoints-1, прежде чем определять точки для любой другой фигуры. Это приведет к пересчету значений массы и центра масс спрайта.

Определение

void agk::AddSpriteShapeChain( UINT iSpriteIndex, UINT numPoints, UINT index, int loop, float x, float y )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
numPoints - Количество точек для использования в цепочке, минимум 2, максимум нет.
index - Индекс точки для установки, если он равен numPoints-1, то будет создана фигура
loop - 1=соедините это обратно с первой точкой, создавая петлю, 0=оставьте эту точку висеть на конце (по умолчанию)
x - Положение X для указанной точки.
y - Положение Y для указанной точки.

Пример кода


AddSpriteShapeBox

Описание

Добавляет новую форму к спрайту в дополнение к уже имеющимся. Эти дополнительные фигуры применимы только к физическим спрайтам и должны быть добавлены после того, как спрайт был настроен на использование физики. Поле определяется путем указания его верхних левых и нижних правых координат в пространстве спрайтов относительно его текущего смещения. Например, если текущее смещение спрайта равно 0,0, то верхний левый угол коробки будет равен 0,0, но если смещение спрайта равно середине спрайта (по умолчанию), то верхний левый угол будет равен-width/2,-height/2. Вы также можете указать угол смещения коробки относительно текущего поворота спрайта. Это приведет к пересчету значений массы и центра масс спрайта.

Определение

void agk::AddSpriteShapeBox( UINT iSpriteIndex, float x, float y, float x2, float y2, float angle )

Параметры

iSpriteIndex - Идентификатор спрайта для изменения.
x - Координата X верхнего левого угла нового окна в пространстве спрайтов.
y - Координата Y верхнего левого угла нового окна в пространстве спрайтов.
x2 - Координата X в правом нижнем углу нового окна в пространстве спрайтов.
y2 - Координата Y в правом нижнем углу нового окна в пространстве спрайтов.
angle - Угол коробки в радианах.

Пример кода


AddSpriteAnimationFrame

Описание

Добавляет изображение в спрайт в качестве нового анимационного кадра. Индексы фреймов начинаются с 1 и постепенно увеличиваются. Это изображение может быть совместно использовано несколькими спрайтами либо в виде отдельных изображений, либо в виде анимационных кадров, а также может быть частью текстуры атласа. В качестве альтернативы, если у вас есть все ваши анимационные кадры на одном изображении, вы можете использовать более быстрый SetSpriteAnimation, который позволяет избежать изменений изображения во время рендеринга, изменяя UV-координаты для изменения кадра.

Определение

void agk::AddSpriteAnimationFrame( UINT iSpriteIndex, UINT iImageIndex )

Параметры

iSpriteIndex - Идентификатор спрайта, который нужно установить для анимации.
iImageIndex - Идентификатор добавляемого изображения.

Пример кода