X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=doc%2Fswfc.xml;h=50885c0e65ec7cbb43909a5688466b486d93056a;hb=e8b1cc9779e506d303090666994f936e66e8ea85;hp=a81bce3e48bbd139cf22ac8117e6172640cfba36;hpb=bf5eeb976135a8dee52de31507b9ba096905f472;p=swftools.git diff --git a/doc/swfc.xml b/doc/swfc.xml index a81bce3..50885c0 100644 --- a/doc/swfc.xml +++ b/doc/swfc.xml @@ -103,7 +103,7 @@ Boxes:

-.flash name="box.swf" +.flash filename="box.swf" .box b1 100 100 color=yellow fill=red .put b1 pin=center scale=0% .frame 100 @@ -154,7 +154,7 @@ The following example demonstrates a few of the possible transforms: -.flash name="cxform.swf" version=5 fps=25 +.flash filename="cxform.swf" version=5 fps=25 .jpeg s1 "photo.jpeg" quality=80% @@ -200,7 +200,7 @@ You now have a font named Arial to play with. For example, for the obligatory hello world program: -.flash name="helloworld.swf" +.flash filename="helloworld.swf" .font Arial filename="Arial.ttf" .text helloworld font=Arial text="Hello World!" @@ -258,7 +258,7 @@ objects which you can use in other commands.

-.flash name="fontoutline.swf" +.flash filename="fontoutline.swf" .font Arial "Arial.swf" .textshape helloworld font=Arial size=200% text="Hello World" .filled filled_helloworld outline=helloworld fill=blue line=3 color=green @@ -273,7 +273,7 @@ To make this a little more interesting, let's fill with a gradient instead of a plain color: -.flash name="fontgradient.swf" +.flash filename="fontgradient.swf" .font Arial "Arial.swf" .textshape helloworld font=Arial text="SHADE" @@ -291,7 +291,7 @@ of a plain color: While at it, you can also fill with an image: -.flash name="fontimage.swf" +.flash filename="fontimage.swf" .font courier "Courier.swf" .jpeg beach "beach.jpg" .textshape text font=courier text="HOLIDAY" @@ -307,12 +307,12 @@ with .text like normal shapes, i.e., scale them, move them, and use them for clipping: -.flash name="text5.swf" +.flash filename="text5.swf" .font courier "Courier.swf" .text hithere text="HELLO" font=courier size=200% .jpeg scenery "scenery.jpg" -.frame 0 +.frame 1 .startclip hithere pin=center x=100 y=75 scale=50% #text clips... .put scenery scale=50% .end @@ -326,7 +326,8 @@ them for clipping: The last two examples look similar, but their underlying structure is different: The first is a shape object filled with image data (that is, a texture), while the second uses a normal -text object to clip an rectangular image. +text object to clip an rectangular image. (More about clipping in +the next section)

@@ -337,12 +338,12 @@ which is used here together with the alpha parameter of .change:

-.flash name="text6.swf" +.flash filename="text6.swf" .font times "Times.swf" .text hello text="HELLO" font=times size=100% color=blue .text world text="WORLD" font=times size=100% color=red -.frame 0 +.frame 1 .put hello pin=center x=50 y=50 .put world pin=center x=50 y=50 alpha=25% .frame 200 @@ -353,6 +354,36 @@ which is used here together with the alpha parameter of .change: +
+ + + +.flash filename="xorclip.swf" bbox=640x480 background=black version=6 +.font times "Times.swf" +.textshape helloworld text="HELLO WORLD" font=times size=500% +.filled helloworld1 outline=helloworld fill=blue line=0 +.filled helloworld2 outline=helloworld fill=green line=0 + +.frame 1 + .box background width=640 height=480 fill=white line=0 + .sprite twotexts + .put h1=helloworld1 y=200 + .put h2=helloworld2 y=200 + .frame 1000 + .change h1 x=-500 + .change h2 x=-1000 + .end + + .startclip twotexts + .put background + .end +.frame 1000 +.end + + + +
+
A special type of text in SWF is the edittext, which @@ -361,7 +392,7 @@ and set from ActionScript (see below). You can generate this type of text with the .edittext command: -.flash name="edittext.swf" bbox=210x110 +.flash filename="edittext.swf" bbox=210x110 .font Arial "Arial.swf" .edittext myedittext font=Arial size=20% width=200 height=100 @@ -383,7 +414,7 @@ using .textshape. The other way to create outlines is to use the .outline command: -.flash name="house.swf" +.flash filename="house.swf" .outline house_outline: M 36.99 29.93 L 15.52 51.39 L 20.44 51.39 L 20.44 81.91 @@ -420,7 +451,7 @@ Outlines can be filled with gradients, bitmaps etc., just like seen previously with .textshape: -.flash name="gradients.swf" +.flash filename="gradients.swf" .outline star: M 521,640 C 502,678 370,546 328,554 C 270,566 152,731 93,722 @@ -472,8 +503,141 @@ seen previously with .textshape:
+
+ +

+The previous example demonstrated how to fill an outline with +a gradient. +

+ +

+There are two types of gradients: radial and linear. radial gradients +have a center point and a radius (and are immune to rotations), and +linear gradients have a start point and a width (or height) and can +be rotated. +

+ +gradients can be freely positioned inside the object +you want to fill, by passing the x, y and width and height (or r) parameters +to .gradient. + + +.flash filename="gradients2.swf" + + .outline o: + moveTo -50,-50 + + lineTo 0,-45 + lineTo 50,-50 + + lineTo 45,0 + lineTo 50,50 + + lineTo 0,45 + lineTo -50,50 + + lineTo -45,0 + lineTo -50,-50 + .end + + .gradient horizon1 radial x=-50 y=-50 r=100: + 0% cyan + 49% blue + 50% green + 100% cyan + .end + + .gradient horizon2 radial x=0 y=0 r=50: + 0% cyan + 49% blue + 50% green + 100% cyan + .end + + .filled o1 outline=o fill=horizon1 line=0 + .filled o2 outline=o fill=horizon2 line=0 + + .put o1 x=50 y=50 + .put o2 x=150 y=50 + +.end + + +If you want to use a given gradient several times +with different x and y values, you can also first +define the gradient itself, and then position it with .texture: + + +.flash filename="gradients3.swf" + + # same outline as above, only in more terse notation + .outline o: + M -50,-50 + L 0,-45 L 50,-50 + L 45,0 L 50,50 + L 0,45 L -50,50 + L -45,0 L -50,-50 + .end + + .gradient horizon radial: + 0% cyan + 50% blue + 50% green + 100% cyan + .end + + .texture horizon1=horizon x=-50 y=-50 r=100 + .filled o1 outline=o fill=horizon1 line=0 + .put o1 x=50 y=50 + + .texture horizon2=horizon x=0 y=0 r=50 + .filled o2 outline=o fill=horizon2 line=0 + .put o2 x=150 y=50 + + .texture horizon3=horizon x=0 y=50 r=10 + .filled o3 outline=o fill=horizon3 line=0 + .put o3 x=50 y=150 + + .texture horizon4=horizon x=50 y=50 r=200 + .filled o4 outline=o fill=horizon4 line=0 + .put o4 x=150 y=150 + + .gradient bunt: + 0% black + 20% blue + 40% magenta + 60% orange + 80% cyan + 100% white + .end + + .texture bunt1=bunt x=-50 y=-50 width=100 + .filled oo1 outline=o fill=bunt1 line=0 + .put oo1 x=50 y=250 + + .texture bunt2=bunt x=-50 y=-50 width=141 height=141 rotate=45 + .filled oo2 outline=o fill=bunt2 line=0 + .put oo2 x=150 y=250 + + .texture bunt3=bunt x=-50 y=50 width=141 height=141 rotate=-45 + .filled oo3 outline=o fill=bunt3 line=0 + .put oo3 x=50 y=350 + + .texture bunt4=bunt x=50 y=50 width=100 rotate=180 + .filled oo4 outline=o fill=bunt4 line=0 + .put oo4 x=150 y=350 + +.end + + + + + +
+ +
@@ -483,23 +647,23 @@ seen previously with .textshape: the ActionScript into the block: -.flash name="action.swf" bbox=300x300 fps=50 +.flash filename="action.swf" bbox=300x300 fps=50 .box mybox color=blue fill=green width=100 height=100 .put mybox -.frame 0 +.frame 1 .action: _root.angle += 0.05; mybox._x = 100*Math.cos(_root.angle)+100; mybox._y = 100*Math.sin(_root.angle)+100; .end -.frame 1 +.frame 2 .action: gotoFrame(0); Play(); .end -.frame 2 +.frame 3 .end @@ -530,7 +694,7 @@ mouse buttons, and key presses. The following is a trivial example: Four objects which change their shape once the cursor is over it. -.flash name="button1.swf" fps=50 +.flash filename="button1.swf" fps=50 .box box1 color=white fill=#336633 width=50 height=50 .box box2 color=white fill=#99cc99 width=100 height=100 @@ -539,7 +703,7 @@ once the cursor is over it. .show box2 as=hover x=12.5 y=12.5 .end -.frame 0 +.frame 1 .put b1=mybutton1 .put b2=mybutton1 x=100 red=+255 .put b3=mybutton1 y=100 green=+255 @@ -583,7 +747,7 @@ Due to the fact that button shapes can be put anywhere especially outside the active area, it's easy to generate tooltips or subtitles. -.flash name="tooltips.swf" fps=50 +.flash filename="tooltips.swf" fps=50 .jpeg pic fence.jpg .put pic @@ -601,7 +765,7 @@ outside the active area, it's easy to generate tooltips or subtitles. .show tooltip_fence as=idle x=25 y=25 scalex=100 scaley=100 alpha=50% .end -.frame 0 +.frame 1 .put mybutton1 .end