Blame doc/ru/groups.html

Ivan Mahonin 7a004b
<html>
Ivan Mahonin 7a004b
<head>
Ivan Mahonin 7a004b
<meta charset="UTF-8" />
Ivan Mahonin 7a004b
<link rel="stylesheet" type="text/css" href="style.css" />
Ivan Mahonin 7a004b
<title>Группы спрайтов - Helianthus</title>
Ivan Mahonin 7a004b
</head>
Ivan Mahonin 7a004b
<body>
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
  

Helianthus

Ivan Mahonin 7a004b
  

Запуск и общие функции

Ivan Mahonin 7a004b
  

Клавиатура и мышь

Ivan Mahonin 7a004b
  

Рисование

Ivan Mahonin 7a004b
  

Спрайты

Ivan Mahonin 7a004b
  

Группы спрайтов

Ivan Mahonin 7a004b
  

Камера

Ivan Mahonin 7a004b
  

Звук

Ivan Mahonin 7a004b
  
Ivan Mahonin 7a004b
  

Все функции

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Группы спрайтов

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Вы можете объединять спрайты в группы. Группы помогут вам если вам нужно выполнять одинаковый действия со множеством спрайтов. Вы можете одной командой задать одинаковую скорость сразу всем спрайтам в группе, либо включить/выключить видимость спрайтов в группу и прочее.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Создать группу можно функцией createGroup, которая возвращает значение типа Group, которое по сути является адресом в памяти — указателем на описание группы внутри библиотеки Helianthus.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Для добавления спрайта в группу используйте функцию groupAdd, для удаления из группы - groupRemove.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

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

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Функции:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Group createGroup();

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Создать пустую группу. В дальнейшем вы можете добавить в неё спрайты функцией groupAdd.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Group createEdgesGroup();

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Создать группу спрайтов ограничивающих края экрана. Используйте эту группу если вам нужно сделать так чтобы спрайт отталкивался от краёв экрана. Смотрите описание физической модели в разделе «Спрайты».

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Group createEdgesGroupEx(double x1, double y1, double x2, double y2, double borderWidth);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Создать группу спрайтов ограничивающих прямоугольник. Функция аналогична функции createEdgesGroup, только рамка создаётся не вокруг краёв экрана, а вокруг заданного вами прямоугольника.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

x1, y1 — координаты верхнего левого угла прямоугольника;

Ivan Mahonin 7a004b
x2, y2 — координаты нижнего правого угла прямоугольника;
Ivan Mahonin 7a004b
borderWidth — толщина рамки.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void groupDestroy(Group group);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Удалить группу. Спрайты, которые содержались в группе продолжат существовать, просто они больше не будут состоять в данной группе.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

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

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void groupDestroyEx(Group group, int destroySprites);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Удалить группу, с возможностью удаления и спрайтов тоже. См. также groupDestroy.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

destroySprites — если TRUE, то перед удалением группы будут удалены и все содержащиеся в ней спрайты (см. spriteDestroy).

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void groupAdd(Group group, Sprite sprite);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Добавить спрайт в группу.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

sprite — спрайт для добавления.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void groupRemove(Group group, Sprite sprite);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Исключить спрайт из группы.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

sprite — спрайт для исключения.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void groupClear(Group group);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Исключить из группы все спрайты. Группа станет пустой. См. также groupRemove.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void groupClearEx(Group group, int destroySprites);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Очистить группу с возможностью удаления всех спрайтов. См. также groupClear, groupDestroyEx, spriteDestroy.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

destroySprites — если TRUE, то спрайты вместо исключения из группы будут полностью удалены.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

int groupContains(Group group, Sprite sprite);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Возвращает TRUE, если спрайт содержится в группе, иначе возвращает FALSE.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

sprite — спрайт для проверки.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

int groupGetCount(Group group);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Возвращает количество спрайтов в группе.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Sprite groupGet(Group group, int i);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

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

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

i — номер спрайта в группе.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

int groupOverlap(Group group, Sprite sprite);

Ivan Mahonin 7a004b

int groupCollide(Group group, Sprite sprite, double bounciness);

Ivan Mahonin 7a004b

int groupBounceOff(Group group, Sprite sprite, double bounciness);

Ivan Mahonin 7a004b

int groupPush(Group group, Sprite sprite, double bounciness);

Ivan Mahonin 7a004b

int groupCollideEx(Group group, Sprite sprite, int keepVelocityGroup, int keepVelocitySprite, double bounciness);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Функции обнаружения и решения столкновений между группой и спрайтом. Смотрите аналогичные функции из раздела «Спрайты». Каждый спрайт из группы будет взаимодействовать с указанным в параметрах функции спрайтом.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

int groupOverlapGroup(Group a, Group b);

Ivan Mahonin 7a004b

int groupCollideGroup(Group a, Group b, double bounciness);

Ivan Mahonin 7a004b

int groupBounceOffGroup(Group group, Group other, double bounciness);

Ivan Mahonin 7a004b

int groupPushGroup(Group group, Group other, double bounciness);

Ivan Mahonin 7a004b

int groupCollideGroupEx(Group a, Group b, int keepVelocityA, int keepVelocityB, double bounciness);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Функции обнаружения и решения столкновений между группой и группой. Смотрите аналогичные функции из раздела «Спрайты». Каждый спрайт из первой группы будет взаимодействовать с каждым спрайтом из второй группы.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

int groupOverlapBetween(Group group);

Ivan Mahonin 7a004b

int groupCollideBetween(Group group, double bounciness);

Ivan Mahonin 7a004b

int groupCollideBetweenEx(Group group, int keepVelocity, double bounciness);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Функции обнаружения и решения столкновений между спрайтами в группе. Смотрите аналогичные функции из раздела «Спрайты». Каждый спрайт в группе взаимодействует со всеми другими спрайтами в группе.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

double groupGetMinDepth(Group group);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Возвращает минимальную глубину среди всех спрайтов в группе.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

double groupGetMaxDepth(Group group);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

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

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void groupDestroyEach(Group group);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Полностью удалить каждый спрайт в данной группе. Группа станет пустой. См. также groupClearEx, spriteDestroy.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void groupDestroyTimerEach(Group group, double lifetime);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Задать таймер на удаление для каждого спрайта в группе. См. также spriteDestroyTimer.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void groupSetVisibleEach(Group group, int visible);

Ivan Mahonin 7a004b

void groupSetWidthEach(Group group, double width);

Ivan Mahonin 7a004b

void groupSetHeightEach(Group group, double height);

Ivan Mahonin 7a004b

void groupSetDepthEach(Group group, double depth);

Ivan Mahonin 7a004b

void groupSetVelocityXEach(Group group, double x);

Ivan Mahonin 7a004b

void groupSetVelocityYEach(Group group, double y);

Ivan Mahonin 7a004b

void groupSetVelocityEach(Group group, double x, double y);

Ivan Mahonin 7a004b

void groupSetLifetimeEach(Group group, double lifetime);

Ivan Mahonin 7a004b

void groupSetRotateToDirectionEach(Group group, int rotateToDirection);

Ivan Mahonin 7a004b

void groupSetRotationEach(Group group, double rotation);

Ivan Mahonin 7a004b

void groupSetRotationSpeedEach(Group group, double rotationSpeed);

Ivan Mahonin 7a004b

void groupSetScaleEach(Group group, double scale);

Ivan Mahonin 7a004b

void groupSetMirrorXEach(Group group, int mirrorX);

Ivan Mahonin 7a004b

void groupSetMirrorYEach(Group group, int mirrorY);

Ivan Mahonin 7a004b

void groupSetTagEach(Group group, int tag);

Ivan Mahonin 7a004b

void groupPointToEach(Group group, double x, double y);

Ivan Mahonin 7a004b

void groupSetSpeedAndDirectionEach(Group group, double speed, double angle);

Ivan Mahonin 7a004b

void groupSetAnimationEach(Group group, const char *path);

Ivan Mahonin 7a004b

void groupSetNoAnimationEach(Group group);

Ivan Mahonin 7a004b

void groupSetShapeColorEach(Group group, const char *color);

Ivan Mahonin 7a004b

void groupSetTintColorEach(Group group, const char *color);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Установить параметры для каждого спрайта в группе. Смотрите аналогичные функции из раздела «Спрайты».

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void groupSetColliderEach(Group group, Collider type, double xOffset, double yOffset, double rotationOffset);

Ivan Mahonin 7a004b

void groupSetColliderCircleEach(Group group, double xOffset, double yOffset, double radius);

Ivan Mahonin 7a004b

void groupSetColliderRectangleEach(Group group, double xOffset, double yOffset, double rotationOffset, double width, double height, double cornersRadius);

Ivan Mahonin 7a004b

void groupSetColliderEachEx(Group group, Collider type, double xOffset, double yOffset, double rotationOffset, double width, double height, double radius);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Установить параметры физического тела для каждого спрайта в группе. Смотрите аналогичные функции из раздела «Спрайты».

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
</body>
Ivan Mahonin 7a004b
</html>