|
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 |
Для подключения и использования библиотеки Helianthus нужно:
|
|
Ivan Mahonin |
7a004b |
- подключить файл <helianthus.h>
|
|
Ivan Mahonin |
7a004b |
- создать и зарегистрировать функции для начальной загрузки и для перерисовки кадра (см. worldSetInit и worldSetDraw)
|
|
Ivan Mahonin |
7a004b |
- вызвать функцию worldRun для запуска вашей программы
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Вот что должно получиться:
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
#include <helianthus.h>
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
void init() {
|
|
Ivan Mahonin |
7a004b |
// Здесь будут команды для начальной загрузки.
|
|
Ivan Mahonin |
7a004b |
// Они выполнятся только один раз в самом начале.
|
|
Ivan Mahonin |
7a004b |
}
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
void draw() {
|
|
Ivan Mahonin |
7a004b |
// Здесь будут команды для движения и рисования.
|
|
Ivan Mahonin |
7a004b |
// Во время работы программы они будут запускаться
|
|
Ivan Mahonin |
7a004b |
// несколько раз в секунду.
|
|
Ivan Mahonin |
7a004b |
}
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
int main() {
|
|
Ivan Mahonin |
7a004b |
worldSetInit(&init);
|
|
Ivan Mahonin |
7a004b |
worldSetDraw(&draw);
|
|
Ivan Mahonin |
7a004b |
worldRun();
|
|
Ivan Mahonin |
7a004b |
return 0;
|
|
Ivan Mahonin |
7a004b |
}
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Функции:
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
void worldSetInit(Callback init);
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Задать функцию для начальной инициализации (загрузки). Эта функция будет запущена только один раз в самом начале работы программы, как только будет вызвана функция worldRun.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Параметры:
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
init — указатель на функцию начальной инициализации (загрузки). Функция быть работать без параметров и не должна возвращать значение.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
void worldSetDraw(Callback draw);
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Задать основную функцию вашей программы — функцию для перерисовки кадра. Во время работы программы заданная функция будет запускаться несколько раз в секунду перед перерисовкой каждого кадра. Поместите в неё команды для движения и рисования.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Параметры:
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
draw — указатель на функцию перерисовки кадра. Функция быть работать без параметров и не должна возвращать значение.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
void worldRun();
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Запустить вашу программу на Helianthus. Перед вызовом этой функции нужно зарегистрировать функции начальной загрузки и перерисовки кадра (см. выше)
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
void worldStop();
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Остановить и закрыть программу. Программа всегда закрывается если пользователь нажмёт на крестик в верхнем правом углу окна, но вы можете добавить и свои способы выхода из программы. Например, в функцию перерисовки вы можете вставить возможность выхода по нажатию клавиши Esc (см. также раздел «Клавиатура и мышь»):
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
void draw() {
|
|
Ivan Mahonin |
7a004b |
…
|
|
Ivan Mahonin |
7a004b |
if (keyWentPressed("escape")) {
|
|
Ivan Mahonin |
7a004b |
worldStop()
|
|
Ivan Mahonin |
7a004b |
}
|
|
Ivan Mahonin |
7a004b |
…
|
|
Ivan Mahonin |
7a004b |
}
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
int worldGetWidth();
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Возвращает ширину окна в пикселях. См. также worldSetWidth.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
void worldSetWidth(int width);
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Установить ширину окна. См. также worldGetWidth.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Параметры:
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
width — новая ширина окна.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
int worldGetHeight();
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Возвращает высоту окна в пикселях. См. также worldSetHeight.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
void worldSetHeight(int height);
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Установить высоту окна. См. также worldGetHeight.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Параметры:
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
height — новая ширина окна.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
double worldGetFrameRate();
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Возвращает частоту перерисовки окна, количество кадров в секунду. См. также worldSetFrameRate.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
void worldSetFrameRate(double frameRate);
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Установить частоту перерисовки окна. См. также worldGetFrameRate.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Параметры:
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
frameRate — количество кадров в секунду, от 1 до 100.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
double worldGetTimeStep();
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Возвращает длительность одного кадра в секундах. См. также worldGetFrameRate.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
int worldGetFrameCount();
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Возвращает количество кадров прошедшее с момента запуска программы (с момента вызова функции worldRun. См. также worldGetSeconds.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
double worldGetSeconds();
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Возвращает количество секунд прошедшее с момента запуска программы (с момента вызова функции worldRun. См. также worldGetFrames.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
int randomNumber(int min, int max);
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Возвращает случайное целое число от min до max включительно.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Параметры:
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
min — минимальное значение для случайного числа;
|
|
Ivan Mahonin |
7a004b |
max — максимальное значение для случайного числа.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
double randomFloat();
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
Возвращает случайное дробное число в диапазоне от 0 до 1.
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
|
|
Ivan Mahonin |
7a004b |
</body>
|
|
Ivan Mahonin |
7a004b |
</html>
|