<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<layout>
    <stages>
        <stg id="1" px="480" py="320" nm="move_alpha" x="480" y="320" w="960" h="640">
            <obj id="3" type="machine" nm="sun" sync="1" x="5" y="-2" w="674" h="668" res="2">
                <com>
                    Солнце вращается 5 секунд в одну сторону со скоростью 60 градусов в секунду, затем переходит в другое состояние, где вращается 5 секунд в другое состояние с той же скоростью. В каждом из состояний машина меняет прозрачность от 1 до 0.5 и обратно от 0.5 до 1
                </com>
                <st id="rot1">
                    <rot v="60"/>
                    <wait t="5000" go="rot2"/>
                    <alpha ta="0.5" t="2500"/>
                    <alpha ta="1" t="2500"/>
                </st>
                <st id="rot2">
                    <rot v="-60"/>
                    <wait t="5000" go="rot1"/>
                    <alpha ta="0.5" t="2500"/>
                    <alpha ta="1" t="2500"/>
                </st>
            </obj>
            <obj id="2" type="machine" nm="plain" sync="1" x="-345" y="-151" w="398" h="204" sx="0.5" sy="0.5" res="1">
                <com>
                    Самолет в состоянии init получает начельные координаты и размеры, затем переходит в состояние move1, где движется и одновременно изменяет свои размеры. После чего в состоянии init2 разворачивается (sx=-0,5) и в move2 летит в обратную сторону. Из move2 попадает в init и все начинается заново.
                </com>
                <st id="init">
                    <init x="369" y="-217" sx="0.5" sy="0.5"/>
                    <wait t="10" go="move1"/>
                </st>
                <st id="move1">
                    <move tx="-369" ty="-150" t="6000" go="init2"/>
                    <scale tx="0.7" ty="0.7" t="3000"/>
                    <scale tx="0.5" ty="0.5" t="3000"/>
                </st>
                <st id="init2">
                    <init x="-369" y="-150" sx="-0.5" sy="0.5"/>
                    <wait t="10" go="move2"/>
                </st>
                <st id="move2">
                    <move tx="369" ty="-217" t="6000" go="init"/>
                    <scale tx="-0.7" ty="0.7" t="3000"/>
                    <scale tx="-0.5" ty="0.5" t="3000"/>
                </st>
            </obj>
            <obj id="4" type="machine" nm="sheep" sync="1" x="-300" y="250" w="99" h="95" res="3">
                <com>
                    Из начального состояние init, в котором прописаны начальные координаты и угол, машина переходит в состояние move, где есть физическое движение и вращение. В физическом движении phys прописаны начальные скорости, ускорение, а также целевые координаты, в которые машина должна попасть. Состояния init2 и move2 - зеркальное отображение первых двух состояний.
                </com>
                <st id="init">
                    <init x="-300" y="250" ang="0"/>
                    <wait t="500" go="move"/>
                </st>
                <st id="move">
                    <phys vx="150" vy="-400" ay="200" tx="300" ty="250" go="init2"/>
                    <rot ta="720" t="4000"/>
                </st>
                <st id="init2">
                    <init x="300" y="250" ang="0"/>
                    <wait t="500" go="move2"/>
                </st>
                <st id="move2">
                    <phys vx="-150" vy="-400" ay="200" tx="-300" ty="250" go="init"/>
                    <rot ta="-720" t="4000"/>
                </st>
            </obj>
            <obj id="14" type="machine" nm="star" sync="1" x="-465" y="-299" w="28" h="41" res="8">
                <com>
                    Звезда в своем единственном состоянии движется по сплайну (по кривой). loop =-1 означает, что этот сплайн будет повторятся бесконечное число раз.
                </com>
                <st id="spline">
                    <spline key="-463,-300,-452,-239,-458,-160,-458,-80,-422,-35,-350,-25,-278,-12,-255,40,-195,64,-121,55,-44,41,-23,-12,-18,-70,50,-60,102,5,71,72,72,158,135,168,186,120,204,77,199,33,186,-23,164,-53,122,-62,62,-28,27,54,-23,119,-81,53,-112,-15,-125,-70,-170,-112,-176,-168,-181,-227,-282,-252,-343,-265,-402,-276,-464,-300" t="30000" loop="-1"/>
                </st>
            </obj>
        </stg>
        <stg id="6" px="480" py="320" nm="draw_set_play" x="480" y="320" w="960" h="640">
            <obj id="7" type="machine" nm="play" sync="1" x="-301" y="-183" w="161" h="86" res="5">
                <com>
                    Машина имеет 2 состояния с разной графикой. В состоянии wait машина ждет клика, по которому переходит в состояние play. В состоянии play меняет графику кнопки на более яркую, запускает звуковую дорожку и меняет состояние другой машине.
                </com>
                <st id="wait">
                    <draw res="5"/>
                    <click go="play"/>
                </st>
                <st id="play">
                    <draw res="6"/>
                    <play mus="7"/>
                    <set obj="8" st="pause"/>
                </st>
                <obj id="12" type="text" nm="play" sync="1" x="-65" y="-31" w="130" h="60" txt="Play" fs="23" fc1="FFFFFF"/>
            </obj>
            <obj id="8" type="machine" nm="pause" sync="1" x="-298" y="-45" w="161" h="86" res="5">
                <com>
                    Машина имеет 2 состояния. В первом состоянии машина меняет графику, останавливает звуковую дорожку и меняет состояние другой машине.Во втором состоянии pause машина меняет графику и ждет клика, по которому переходит в первое состояние.
                </com>
                <st id="wait">
                    <draw res="4"/>
                    <play mus_stop="1"/>
                    <set obj="7" st="wait"/>
                </st>
                <st id="pause">
                    <draw res="5"/>
                    <click go="wait"/>
                </st>
                <obj id="13" type="text" nm="pause" sync="1" x="-63" y="-30" w="130" h="60" txt="Pause" fs="23" fc1="FFFFFF"/>
            </obj>
        </stg>
        <stg id="10" px="480" py="320" nm="opt" x="480" y="320" w="960" h="640">
            <obj id="11" type="options" nm="opt" sync="1" sound="0.5" music="0.5" voice="0.5"/>
        </stg>
        <stg id="16" px="480" py="320" nm="drag_dragRot" x="480" y="320" w="960" h="640">
            <obj id="18" type="machine" nm="sun" sync="1" x="6" y="-23" w="674" h="668" keep_mousedn="1" res="2">
                <com>
                    в первом состоянии машина обрабатывает клик и переходит во ворое состояние dragRot, в котором можно крутить машину вокруг точки пивота. При отпускании срабатывает drop на сцену по которому машина переходит в состояние click
                </com>
                <st id="click">
                    <click go="dragRot"/>
                </st>
                <st id="dragRot">
                    <dragRot/>
                    <drop obj="16" go="click"/>
                </st>
            </obj>
            <obj id="17" type="machine" nm="sheep" sync="1" x="-6" y="143" w="99" h="95" keep_mousedn="1" res="3">
                <com>
                    в первом состоянии машина обрабатывает клик и переходит во ворое состояние drag, в котором можно таскать  машину в заданом диапазоне. При отпускании срабатывает drop на сцену по которому машина переходит в состояние click
                </com>
                <st id="click">
                    <click go="drag"/>
                </st>
                <st id="drag">
                    <drag x1="-400" x2="400" y1="-300" y2="300"/>
                    <drop obj="16" go="click"/>
                </st>
            </obj>
        </stg>
    </stages>
    <screens>
        <scr id="0" nm="move_alpha" w="960" h="640">
            <stg id="1"/>
            <images ids="2,1,3,8"/>
        </scr>
        <scr id="5" nm="draw_set_play" w="960" h="640">
            <stg id="6"/>
            <images ids="5,6,4"/>
            <sounds ids="7"/>
            <fonts ids="0"/>
        </scr>
        <scr id="15" nm="drag_dragRot" w="960" h="640">
            <stg id="16"/>
            <images ids="2,3"/>
        </scr>
        <scr id="9" nm="option" w="960" h="640" gl="1">
            <stg id="10"/>
        </scr>
    </screens>
</layout>
