<?xml version="1.0" encoding="utf-8" ?> | |
<screenplay xmlns="urn:screenplay"> | |
<text id="partial" /> | |
<text id="type" text="Typewriter" /> | |
<int id="typeLength" value="0" /> | |
<event kind="onLoad" > | |
<matrix id="initialMatrix" translate="[65,100]" /> | |
<paint id="textPaint" textSize="36" antiAlias="true" linearText="false" > | |
<color color="lightBlue" /> | |
</paint> | |
<apply > | |
<paint /> | |
<set begin="3" field="linearText" to="false" /> | |
</apply> | |
<matrix translate="[0,60]" /> | |
<rect top="textPaint.ascent" width="textPaint.measureText(type.text)" | |
height="-textPaint.ascent+textPaint.descent" /> | |
<paint> | |
<linearGradient points="[0,25,205,25]" tileMode="mirror" > | |
<matrix> | |
<scale x="3" y="2" /> | |
</matrix> | |
<color color="brown" /> | |
<color color="yellow" /> | |
</linearGradient> | |
</paint> | |
<add use="partial" /> | |
<textOnPath text="partial" offset="220" > | |
<path > | |
<addOval left="0" right="160" top="-70" bottom="30" direction="cw" /> | |
</path> | |
</textOnPath> | |
<textOnPath text="partial" offset="20" > | |
<path > | |
<addOval left="0" right="160" top="-50" bottom="50" direction="cw" /> | |
</path> | |
</textOnPath> | |
<apply mode="immediate" steps="type.length-1" > | |
<post target="nextChar" /> | |
<animate field="delay" from="0.1" to="0.95" /> | |
</apply> | |
<post target="addCaptionFade" delay="1" /> | |
<post target="addLineCaption" delay="1" /> | |
<post target="scaleInitial" delay="2" /> | |
</event> | |
<event kind="user" id="nextChar" > | |
<apply id="applyTypeLength" scope="typeLength" > | |
<set id="incValue" field="value" to="typeLength.value + 1" /> | |
</apply> | |
<apply id="applySlice" scope="partial"> | |
<set id="setSlice" field="text" to="#script:type.text.slice(0, typeLength.value)" /> | |
</apply> | |
</event> | |
<event kind="user" id="addCaptionFade" > | |
<apply> | |
<paint > | |
<color id="captionFade" alpha="0" /> | |
</paint> | |
<animate target="captionFade" field="alpha" from="0" to="1" dur="1" /> | |
</apply> | |
</event> | |
<event kind="user" id="addLineCaption" > | |
<paint textSize="24" textAlign="center" > <!-- --> | |
<shader /> | |
</paint> | |
<text text="Text" x="textPaint.measureText(type.text)/2" y="40" /> | |
</event> | |
<event kind="user" id="scaleInitial" > | |
<apply scope="textPaint" > | |
<set field="linearText" to="true" /> | |
</apply> | |
<apply scope="initialMatrix" > | |
<animate field="scale" from="1" to=".5" dur="1"/> | |
<animate field="translateX" from="65" to="130" dur="1"/> | |
<animate field="translateY" from="100" to="30" dur="1"/> | |
</apply> | |
</event> | |
</screenplay> |