Blob Blame Raw
<html>
<head>
<meta charset="UTF-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
<title>Запуск и общие функции - Helianthus</title>
</head>
<body>
<div class="navigation">
  <p><a href="index.html">Helianthus</a></p>
  <p><a href="common.html">Запуск и общие функции</a></p>
  <p><a href="input.html">Клавиатура и мышь</a></p>
  <p><a href="drawing.html">Рисование</a></p>
  <p><a href="sprites.html">Спрайты</a></p>
  <p><a href="groups.html">Группы спрайтов</a></p>
  <p><a href="camera.html">Камера</a></p>
  <p><a href="sound.html">Звук</a></p>
  <hr />
  <p><a href="functions.html">Все функции</a></p>
</div>
<div class="content">

<h1>Запуск и общие функции</h1>

<p>Для подключения и использования библиотеки Helianthus нужно:<br />
- подключить файл <i>&lt;helianthus.h&gt;</i><br />
- создать и зарегистрировать  функции для начальной загрузки и для перерисовки кадра (см. <a href="common.html#worldSetInit">worldSetInit</a> и <a href="common.html#worldSetDraw">worldSetDraw</a>)<br />
- вызвать функцию <a href="common.html#worldRun">worldRun</a> для запуска вашей программы</p>

<p>Вот что должно получиться:</p>

<pre>
#include &lt;helianthus.h&gt;

void init() {
&nbsp;&nbsp;&nbsp;&nbsp;// Здесь будут команды для начальной загрузки.
&nbsp;&nbsp;&nbsp;&nbsp;// Они выполнятся только один раз в самом начале.
}

void draw() {
&nbsp;&nbsp;&nbsp;&nbsp;// Здесь будут команды для движения и рисования.
&nbsp;&nbsp;&nbsp;&nbsp;// Во время работы программы они будут запускаться
&nbsp;&nbsp;&nbsp;&nbsp;// несколько раз в секунду.
}

int main() {
&nbsp;&nbsp;&nbsp;&nbsp;worldSetInit(&init); 
&nbsp;&nbsp;&nbsp;&nbsp;worldSetDraw(&draw);
&nbsp;&nbsp;&nbsp;&nbsp;worldRun();
&nbsp;&nbsp;&nbsp;&nbsp;return 0;
}
</pre>


<h2>Функции:</h2>

<h3 id="worldSetInit">void worldSetInit(Callback init);</h3>

<p>Задать функцию для начальной инициализации (загрузки). Эта функция будет запущена только один раз в самом начале работы программы, как только будет вызвана функция <a href="common.html#worldRun">worldRun</a>.</p>

<h4>Параметры:</h4>

<p><i>init</i> — указатель на функцию начальной инициализации (загрузки). Функция быть работать без параметров и не должна возвращать значение.</p>

<h3 id="worldSetDraw">void worldSetDraw(Callback draw);</h3>

<p>Задать основную функцию вашей программы — функцию для перерисовки кадра. Во время работы программы заданная функция будет запускаться несколько раз в секунду перед перерисовкой каждого кадра. Поместите в неё команды для движения и рисования.</p>

<h4>Параметры:</h4>

<p><i>draw</i> — указатель на функцию перерисовки кадра. Функция быть работать без параметров и не должна возвращать значение.</p>

<h3 id="worldRun">void worldRun();</h3>

<p>Запустить вашу программу на Helianthus. Перед вызовом этой функции нужно зарегистрировать функции начальной загрузки и перерисовки кадра (см. выше)</p>

<h3 id="worldStop">void worldStop();</h3>

<p>Остановить и закрыть программу. Программа всегда закрывается если пользователь нажмёт на крестик в верхнем правом углу окна, но вы можете добавить и свои способы выхода из программы. Например, в функцию перерисовки вы можете вставить возможность выхода по нажатию клавиши Esc (см. также раздел <a href="input.html">«Клавиатура и мышь»</a>):</p>

<pre>
void draw() {
&nbsp;&nbsp;&nbsp;&nbsp;…
&nbsp;&nbsp;&nbsp;&nbsp;if (keyWentPressed("escape")) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;worldStop()
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;…
}
</pre>


<h3 id="worldGetWidth">int worldGetWidth();</h3>

<p>Возвращает ширину окна в пикселях. См. также <a href="common.html#worldSetWidth">worldSetWidth</a>.</p>

<h3 id="worldSetWidth">void worldSetWidth(int width);</h3>

<p>Установить ширину окна. См. также <a href="common.html#worldGetWidth">worldGetWidth</a>.</p>

<h4>Параметры:</h4>

<p><i>width</i> — новая ширина окна.</p>

<h3 id="worldGetHeight">int worldGetHeight();</h3>

<p>Возвращает высоту окна в пикселях. См. также <a href="common.html#worldSetHeight">worldSetHeight</a>.</p>

<h3 id="worldSetHeight">void worldSetHeight(int height);</h3>

<p>Установить высоту окна. См. также <a href="common.html#worldGetHeight">worldGetHeight</a>.</p>

<h4>Параметры:</h4>

<p><i>height</i> — новая ширина окна.</p>

<h3 id="worldGetFrameRate">double worldGetFrameRate();</h3>

<p>Возвращает частоту перерисовки окна, количество кадров в секунду. См. также <a href="common.html#worldSetFrameRate">worldSetFrameRate</a>.</p>

<h3 id="worldSetFrameRate">void worldSetFrameRate(double frameRate);</h3>

<p>Установить частоту перерисовки окна. См. также <a href="common.html#worldGetFrameRate">worldGetFrameRate</a>.</p>

<h4>Параметры:</h4>

<p><i>frameRate</i> — количество кадров в секунду, от 1 до 100.</p>

<h3 id="worldGetTimeStep">double worldGetTimeStep();</h3>

<p>Возвращает длительность одного кадра в секундах. См. также <a href="common.html#worldGetFrameRate">worldGetFrameRate</a>.</p>

<h3 id="worldGetFrameCount">int worldGetFrameCount();</h3>

<p>Возвращает количество кадров прошедшее с момента запуска программы (с момента вызова функции <a href="common.html#worldRun">worldRun</a>. См. также <a href="common.html#worldGetSeconds">worldGetSeconds</a>.</p>

<h3 id="worldGetSeconds">double worldGetSeconds();</h3>

<p>Возвращает количество секунд прошедшее с момента запуска программы (с момента вызова функции <a href="common.html#worldRun">worldRun</a>. См. также <i>worldGetFrames</i>.</p>

<h3 id="randomNumber">int randomNumber(int min, int max);</h3>

<p>Возвращает случайное целое число от <i>min</i> до <i>max</i> включительно.</p>

<h4>Параметры:</h4>

<p><i>min</i> — минимальное значение для случайного числа;<br />
<i>max</i> — максимальное значение для случайного числа.</p>

<h3 id="randomFloat">double randomFloat();</h3>

<p>Возвращает случайное дробное число в диапазоне от 0 до 1.</p>

</div>
</body>
</html>