|
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 |
77a314 |
Helianthus
|
|
Ivan Mahonin |
77a314 |
|
|
Ivan Mahonin |
77a314 |
Helianthus: Документация
|
|
Ivan Mahonin |
77a314 |
Установка
|
|
Ivan Mahonin |
7a004b |
Запуск и общие функции
|
|
Ivan Mahonin |
7a004b |
Клавиатура и мышь
|
|
Ivan Mahonin |
7a004b |
Рисование
|
|
Ivan Mahonin |
cece70 |
Шрифты и текст
|
|
Ivan Mahonin |
cece70 |
Текстуры и анимация
|
|
Ivan Mahonin |
cece70 |
Буфер кадра
|
|
Ivan Mahonin |
7a004b |
Спрайты
|
|
Ivan Mahonin |
7a004b |
Группы спрайтов
|
|
Ivan Mahonin |
7a004b |
Звук
|
|
Ivan Mahonin |
e9aada |
Пользовательский интерфейс
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Все функции
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Группы спрайтов
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
cece70 |
Вы можете объединять спрайты в группы. Группы помогут вам если вам нужно выполнять одинаковые действия со множеством спрайтов. Вы можете одной командой задать одинаковую скорость сразу всем спрайтам в группе, либо включить/выключить видимость спрайтов в группу и прочее.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Создать группу можно функцией createGroup, которая возвращает значение типа Group, которое по сути является адресом в памяти — указателем на описание группы внутри библиотеки Helianthus.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Для добавления спрайта в группу используйте функцию groupAdd, для удаления из группы - groupRemove.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
cece70 |
Все функции для групп повторяют функции работы с одиночными спрайтами, только применяются они одновременно ко всем спрайтам в группе. Поэтому заглядывайте ещё и в раздел «Спрайты».
|
|
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 |
cece70 |
Создать группу спрайтов ограничивающих края экрана. Уровень массы для спрайтов рамки равен 100 (см. spriteSetMassLevel). Используйте эту группу если вам нужно сделать так чтобы спрайт отталкивался от краёв экрана. Смотрите описание физической модели в разделе «Спрайты».
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
cece70 |
Group createEdgesGroupEx(double x1, double y1, double x2, double y2, double borderWidth, int massLevel);
|
|
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 |
cece70 |
borderWidth — толщина рамки;
|
|
Ivan Mahonin |
cece70 |
massLevel — уровень массы для рамки, см. spriteSetMassLevel.
|
|
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 |
d38577 |
Параметры:
|
|
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 |
cece70 |
Sprite groupSpriteByPoint(Group group, double x, double y, int onlyVisible);
|
|
Ivan Mahonin |
cece70 |
|
|
Ivan Mahonin |
cece70 |
Найти в группе спрайт физическое тело которого содержит указанную точку. Если таких спрайтов несколько то возвращается самый верхний из них. См. также spriteIsPointInside, spriteSetDepth.
|
|
Ivan Mahonin |
cece70 |
|
|
Ivan Mahonin |
cece70 |
Параметры:
|
|
Ivan Mahonin |
cece70 |
|
|
Ivan Mahonin |
cece70 |
x, y — координаты точки;
|
|
Ivan Mahonin |
cece70 |
onlyVisible — если TRUE, то поиск будет производиться только среди видимых спрайтов; если FALSE, то все спрайты группы будут включены в поиск.
|
|
Ivan Mahonin |
cece70 |
|
|
Ivan Mahonin |
7a004b |
int groupOverlap(Group group, Sprite sprite);
|
|
Ivan Mahonin |
cece70 |
int groupCollide(Group group, Sprite sprite);
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
cece70 |
Функции обнаружения и решения столкновений между группой и спрайтом. Смотрите аналогичные функции из раздела «Спрайты» — spriteOverlap и spriteCollide. Каждый спрайт из группы будет взаимодействовать с указанным в параметрах функции спрайтом.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
int groupOverlapGroup(Group a, Group b);
|
|
Ivan Mahonin |
cece70 |
int groupCollideGroup(Group a, Group b);
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
cece70 |
Функции обнаружения и решения столкновений между группой и группой. Смотрите аналогичные функции из раздела «Спрайты» — spriteOverlap и spriteCollide. Каждый спрайт из первой группы будет взаимодействовать с каждым спрайтом из второй группы.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
int groupOverlapBetween(Group group);
|
|
Ivan Mahonin |
cece70 |
int groupCollideBetween(Group group);
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
cece70 |
Функции обнаружения и решения столкновений между спрайтами в группе. Смотрите аналогичные функции из раздела «Спрайты» — spriteOverlap и spriteCollide. Каждый спрайт в группе взаимодействует со всеми остальными спрайтами в группе.
|
|
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 |
cece70 |
void groupSetFrozenEach(Group group, int frozen);
|
|
Ivan Mahonin |
cece70 |
void groupSetDebugEach(Group group, int debug);
|
|
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 |
cece70 |
void groupSetXEach(Group group, double x);
|
|
Ivan Mahonin |
cece70 |
void groupSetYEach(Group group, double y);
|
|
Ivan Mahonin |
cece70 |
void groupSetXYEach(Group group, double x, double y);
|
|
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 |
cece70 |
void groupSetAccelerationXEach(Group group, double x);
|
|
Ivan Mahonin |
cece70 |
void groupSetAccelerationYEach(Group group, double y);
|
|
Ivan Mahonin |
cece70 |
void groupSetAccelerationEach(Group group, double x, double y);
|
|
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 groupPointToEach(Group group, double x, double y);
|
|
Ivan Mahonin |
7a004b |
void groupSetSpeedAndDirectionEach(Group group, double speed, double angle);
|
|
Ivan Mahonin |
cece70 |
void groupSetAnimationEach(Group group, Animation animation);
|
|
Ivan Mahonin |
7a004b |
void groupSetNoAnimationEach(Group group);
|
|
Ivan Mahonin |
cece70 |
void groupSetShapeColorEach(Group group, unsigned int colorCode);
|
|
Ivan Mahonin |
cece70 |
void groupSetTintColorEach(Group group, unsigned int colorCode);
|
|
Ivan Mahonin |
cece70 |
void groupSetBouncinessEach(Group group, double bounciness);
|
|
Ivan Mahonin |
cece70 |
void groupSetBouncinessThresholdEach(Group group, double bouncinessThreshold);
|
|
Ivan Mahonin |
cece70 |
void groupSetFrictionEach(Group group, double friction);
|
|
Ivan Mahonin |
cece70 |
void groupSetAirFrictionEach(Group group, double friction);
|
|
Ivan Mahonin |
cece70 |
void groupSetMassLevelEach(Group group, int massLevel);
|
|
Ivan Mahonin |
cece70 |
void groupSetUserTagEach(Group group, int tag);
|
|
Ivan Mahonin |
cece70 |
void groupSetUserTextEach(Group group, const char *text);
|
|
Ivan Mahonin |
cece70 |
void groupSetUserDataEach(Group group, void *data);
|
|
Ivan Mahonin |
cece70 |
void groupSetDestroyEach(Group group, SpriteCallback destroy);
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
acc470 |
Установить параметры для каждого спрайта в группе. Смотрите аналогичные функции из раздела «Спрайты».
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
cece70 |
void groupSetColliderSensitiveDistance(Group group, double distance);
|
|
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 |
acc470 |
Установить параметры физического тела для каждого спрайта в группе. Смотрите аналогичные функции из раздела «Спрайты».
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
cece70 |
void groupDraw(Group group);
|
|
Ivan Mahonin |
cece70 |
|
|
Ivan Mahonin |
cece70 |
Нарисовать все спрайты в группе. См. также spriteDraw, drawSprites.
|
|
Ivan Mahonin |
cece70 |
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
</body>
|
|
Ivan Mahonin |
7a004b |
</html>
|