Skip to content

Commit

Permalink
Merge pull request #37 from AlexChernov/dev
Browse files Browse the repository at this point in the history
Help web sprite
  • Loading branch information
aurusov committed Nov 28, 2014
2 parents d9545da + 7779d06 commit e768be6
Show file tree
Hide file tree
Showing 4 changed files with 135 additions and 7 deletions.
3 changes: 3 additions & 0 deletions app/rdo_studio/help/rdo_lang_rus.qhp
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
</section>
<section title="Кадры анимации" ref="rdo_lang_rus/html/rdo_obj/rdo_obj_frm.htm">
<section title="Элементы отображения" ref="rdo_lang_rus/html/rdo_obj/rdo_obj_frm_elem.htm"/>
<section title="Спрайт" ref="rdo_lang_rus/html/rdo_obj/rdo_obj_frm_sprite.htm"/>
</section>
<section title="Объект описания показателей" ref="rdo_lang_rus/html/rdo_obj/rdo_obj_pmd.htm"/>
<section title="Объект прогона" ref="rdo_lang_rus/html/rdo_obj/rdo_obj_smr.htm"/>
Expand Down Expand Up @@ -129,6 +130,7 @@
<keyword name="$Result_values" ref="rdo_lang_rus/html/rdo_res/rdo_res_pmv.htm"/>
<keyword name="$Results" ref="rdo_lang_rus/html/rdo_obj/rdo_obj_pmd.htm"/>
<keyword name="$Sequence" ref="rdo_lang_rus/html/rdo_obj/rdo_obj_sec/rdo_obj_sec.htm"/>
<keyword name="$Sprite" ref="rdo_lang_rus/html/rdo_obj/rdo_obj_frm_sprite.htm"/>
<keyword name="$Status" ref="rdo_lang_rus/html/rdo_res/rdo_res_trc.htm"/>
<keyword name="$Status" ref="rdo_lang_rus/html/rdo_res/rdo_res_pmv.htm"/>
<keyword name="$Term_condition" ref="rdo_lang_rus/html/rdo_obj/rdo_obj_dpt.htm"/>
Expand Down Expand Up @@ -342,6 +344,7 @@
<keyword name="SMR" ref="rdo_lang_rus/html/rdo_obj/rdo_obj_smr.htm"/>
<keyword name="SO" ref="rdo_lang_rus/html/rdo_res/rdo_res_trc_decisionpt.htm"/>
<keyword name="some" ref="rdo_lang_rus/html/rdo_dpt/rdo_dpt_some.htm"/>
<keyword name="sprite" ref="rdo_lang_rus/html/rdo_obj/rdo_obj_frm_elem.htm"/>
<keyword name="Sqrt" ref="rdo_lang_rus/html/rdo_base/rdo_base_std_var_func.htm"/>
<keyword name="SRC" ref="rdo_lang_rus/html/rdo_res/rdo_res_trc_decisionpt.htm"/>
<keyword name="SRE" ref="rdo_lang_rus/html/rdo_res/rdo_res_trc_decisionpt.htm"/>
Expand Down
23 changes: 17 additions & 6 deletions app/rdo_studio/help/rdo_lang_rus/html/rdo_obj/rdo_obj_frm_elem.htm
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,18 @@ <H1>ЭЛЕМЕНТЫ ОТОБРАЖЕНИЯ</H1>
<TD class="visible" NOWRAP width="20%"><FONT class="syntax">bitmap</FONT></TD>
<TD class="visible" width="80%">Картинка</TD>
</TR>
<TR valign="top">
<TD class="visible" NOWRAP width="20%"><FONT class="syntax">s_bmp</FONT></TD>
<TD class="visible" width="80%">Масштабируемая картинка</TD>
</TR>
<TR valign="top">
<TD class="visible" NOWRAP width="20%"><FONT class="syntax">rect</FONT></TD>
<TD class="visible" width="80%">Прямоугольник</TD>
</TR>
<TR valign="top">
<TD class="visible" NOWRAP width="20%"><FONT class="syntax">r_rect</FONT></TD>
<TD class="visible" width="80%">Прямоугольник со скругленными углами</TD>
</TR>
<TR valign="top">
<TD class="visible" NOWRAP width="20%"><FONT class="syntax">line</FONT></TD>
<TD class="visible" width="80%">Отрезок прямой</TD>
Expand All @@ -46,17 +54,13 @@ <H1>ЭЛЕМЕНТЫ ОТОБРАЖЕНИЯ</H1>
<TD class="visible" NOWRAP width="20%"><FONT class="syntax">ellipse</FONT></TD>
<TD class="visible" width="80%">Эллипс</TD>
</TR>
<TR valign="top">
<TD class="visible" NOWRAP width="20%"><FONT class="syntax">r_rect</FONT></TD>
<TD class="visible" width="80%">Прямоугольник со скругленными углами</TD>
</TR>
<TR valign="top">
<TD class="visible" NOWRAP width="20%"><FONT class="syntax">triang</FONT></TD>
<TD class="visible" width="80%">Треугольник</TD>
</TR>
<TR valign="top">
<TD class="visible" NOWRAP width="20%"><FONT class="syntax">s_bmp</FONT></TD>
<TD class="visible" width="80%">Масштабируемая картинка</TD>
<TD class="visible" NOWRAP width="20%"><FONT class="syntax">sprite</FONT></TD>
<TD class="visible" width="80%">Спрайт</TD>
</TR>
</TABLE>
</DD>
Expand Down Expand Up @@ -150,6 +154,13 @@ <H1>ЭЛЕМЕНТЫ ОТОБРАЖЕНИЯ</H1>
<P><B>Треугольник</B> (<FONT class="syntax">triang</FONT>) имеет формат:</P>
<PRE class="syntax"><code class="rdo">triang(&lt;X1&gt;, &lt;Y1&gt;, &lt;X2&gt;, &lt;Y2&gt;, &lt;X3&gt;, &lt;Y3&gt;, &lt;цвет_фона&gt;, &lt;цвет&gt;);</code></PRE>
<P>Треугольник задается координатами трех его вершин. Как и у прямоугольников и эллипсов, внутренняя область треугольника может быть прозрачной либо иметь какой-либо цвет. Граница треугольника изображается линией указанного цвета толщиной в один пиксел.</P>
<P><A name="sprite"></A><B>Cпрайт</B> (<FONT class="syntax">sprite</FONT>) имеет формат:</P>
<PRE class="syntax"><code class="rdo">sprite <A class="syntax" href="#sprite_name">&lt;имя_спрайта&gt;</A>();</code></PRE>
<DL class="syntax">
<DT class="syntax"><A name="sprite_name"></A><I>имя_спрайта</I></DT>
<DD class="syntax">Имя спрайта представляет собой <A href="../rdo_lex_div/rdo_lex_div_names.htm">простое имя</A>. Имена должны быть различными для всех спрайта и не должны совпадать с ранее определенными именами.</DD>
</DL>
<P>Вызываемый спрайт должен быть <A href="rdo_obj_frm_sprite.htm">объявлен</A>. Спрайт можно вызывать множество раз, такое использование позволяет сокращать объем модели за счет повторного использования кода модели, написаного при объявлении спрайта. Вызов может быть произведен в любом месте описания кадра, где могут быть записаны видимые <A href="rdo_obj_frm_elem.htm">элементы отображения</A></P>
</DD>
</DL>
<P><BR><A name="active"></A><B>Активная область</B> - это элемент отображения, невидимый на экране.</P>
Expand Down
114 changes: 114 additions & 0 deletions app/rdo_studio/help/rdo_lang_rus/html/rdo_obj/rdo_obj_frm_sprite.htm
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
<HTML>
<HEAD>
<TITLE>Спрайт</TITLE>
<LINK rel = "stylesheet" type = "text/css" href = "../../../shared/styles/styles.css">
<link rel="stylesheet" href="../../../shared/styles/highlight.styles/googlecode.css">
<META http-equiv="Content-type" content="text/html; charset=utf-8" />
<script src="../../../shared/scripts/highlight.pack.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<SCRIPT>
function toggle_display(e)
{
if (e.style.display == "none")
e.style.display = "";
else
e.style.display = "none";
return false;
}
</SCRIPT>
</HEAD>
<BODY>
<DIV>
<H1>СПРАЙТ</H1>
<P><B>Описание спрайтов</B> производится в <A href="../rdo_terms.htm#object">объекте</A> исходных данных с расширением <FONT class="syntax">.frm</FONT> (<A href="rdo_obj_frm.htm">кадры анимации</A>), который является исходным для системы отображения. <A name="sprite"></A>Спрайт представляет собой группу переменных элементов отображения, состав, форма, размеры и расположение которых определяются состоянием системы и, следовательно, могут изменяться во время просмотра <A href="rdo_obj_frm.htm#frame">кадра</A>.</P>
<P>Описание спрайта имеет следующий формат:</P>
<PRE class="syntax"><code class="rdo">$Sprite <A class="syntax" href="#sprite_name">&lt;имя_спрайта&gt;</A> ()
[ <A class="syntax" href="#elem_desc">&lt;описание_элементов_отображения&gt;</A> ]
$End</code></PRE>
<DL class="syntax">
<DT class="syntax"><A name="sprite_name"></A><I>имя_спрайта</I></DT>
<DD class="syntax">Имя спрайта представляет собой <A href="../rdo_lex_div/rdo_lex_div_names.htm">простое имя</A>. Имена должны быть различными для всех спрайтов и не должны совпадать с ранее определенными именами.</DD>
<DT class="syntax"><A name="elem_desc"></A><I>описание_элементов_отображения</I></DT>
<DD class="syntax">Список элементов можно посмотреть по <A href="rdo_obj_frm_elem.htm">ссылке</A>.
<P>Спрайт может быть пустым. При описании спрайта может быть использован <A href="../rdo_base/rdo_base_proc_lang.htm">процедурный язык</A>. Это дает возможность отображать часть элементов по заданному <A href="../rdo_base/rdo_base_proc_lang.htm#operator_if">условию</A> или сокращать объём кода модели за счет <A href="../rdo_base/rdo_base_proc_lang.htm#operator_for">циклов</A>.</P>
</DD>
</DL>
<P>Описаный спрайт используется в качестве <A href="rdo_obj_frm_elem.htm#sprite">элемента отображения</A> при описании кадра</P>
<P>Использование спрайтов позволяет сокращать объем кода модели за счет повторного использования текста, написанного в теле спрайта. Спрайты целесообразно применять для отрисовки повторяющейся сложной анимации на разных кадрах ИЛИ в рамках одного кадра, используя при описании спрайта <A href="rdo_obj_sec_enum.htm">последовательности перечислимых значений</A>, причем количество её элементов должно совпадать с количеством использований конкретного спрайта.</P>
<A href="" class="ref" onclick="return toggle_display(v1);"><H4>Пример 1</H4></A>
<DIV style="display:none" id="v1">
<PRE class="syntax"><code class="rdo">$Sprite Target()
integer centerX = R + Seq_X_val;
integer centerY = R + Seq_Y_val;
integer step = R/num;

for (integer i = 0; i < num/2; i++)
{
circle (centerX,centerY,R - 2*step*i + 2 ,black,black);
circle (centerX,centerY,R - 2*step*i ,red ,black);
circle (centerX,centerY,R - 2*step*i - step + 2,black,black);
circle (centerX,centerY,R - 2*step*i - step ,white,black);
}

for (integer j = 1; j < num; j++)
{
text (centerX - step*j - 20,centerY - 10,20,20,transparent,black,= num - j);
text (centerX + step*j ,centerY - 10,20,20,transparent,black,= num - j);
}
text (centerX - 10,centerY - 10,20,20,transparent,black,= num);
$End

$Frame frame1
$Back_picture = <23, 124, 253> 1148 480
sprite Target();
sprite Target();
sprite Target();
sprite Target();
sprite Target();
sprite Target();
$End</code></PRE>
</DIV>
<A href="" class="ref" onclick="return toggle_display(v2);"><H4>Пример 2</H4></A>
<DIV style="display:none" id="v2">
<PRE class="syntax"><code class="rdo">$Sprite Target()
integer centerX = R + 30;
integer centerY = R + 30;
integer step = R/num;

for (integer i = 0; i < num/2; i++)
{
circle (centerX,centerY,R - 2*step*i + 2 ,black,black);
circle (centerX,centerY,R - 2*step*i ,red ,black);
circle (centerX,centerY,R - 2*step*i - step + 2,black,black);
circle (centerX,centerY,R - 2*step*i - step ,white,black);
}

for (integer j = 1; j < num; j++)
{
text (centerX - step*j - 20,centerY - 10,20,20,transparent,black,= num - j);
text (centerX + step*j ,centerY - 10,20,20,transparent,black,= num - j);
}
text (centerX - 10,centerY - 10,20,20,transparent,black,= num);
$End

$Frame frame1
$Back_picture = <23, 124, 253> 1148 480
sprite Target();
$End

$Frame frame2
$Back_picture = <23, 124, 253> 1148 480
sprite Target();
$End

$Frame frame3
$Back_picture = <23, 124, 253> 1148 480
sprite Target();
$End</code></PRE>
</DIV>
<H4>См. также</H4>
<P><A href="rdo_obj_pat.htm">Описание образцов</A></P>
</DIV>
<BR><SCRIPT src="../../../shared/scripts/navbar.js"></SCRIPT>
</BODY>
</HTML>
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<H1>ПЕРЕЧИСЛИМЫЕ ЗНАЧЕНИЯ</H1>
<P>Описание последовательности следует за описанием констант в <A href="../rdo_obj_const_fun_seq.htm">объекте символьных констант, функций и последовательностей</A> (с расширением <FONT class="syntax">.fun</FONT>) и в общем случае имеет вид:</P>
<PRE class="syntax"><code class="rdo">$Sequence <A class="syntax" href="#sec_name">&lt;имя_последовательности&gt;</A>: <A class="syntax" href="#val_type">&lt;тип_значения_последовательности&gt;</A>
$Type = enumerative <A class="syntax" href="#seed_val">&lt;значение_базы_генератора&gt;</A>
$Type = enumerative
$Body
<A class="syntax" href="#body">&lt;тело_последовательности&gt;</A>
$End</code></PRE>
Expand Down

0 comments on commit e768be6

Please sign in to comment.