2002-04-15 00:12:54 +00:00
|
|
|
<?xml version="1.0" encoding="iso-8859-1"?>
|
2005-09-04 19:39:32 +00:00
|
|
|
<!-- $Revision: 1.8 $ -->
|
|
|
|
<!-- Purpose: utilspec.nontext -->
|
|
|
|
<!-- Membership: pecl, external -->
|
|
|
|
|
2002-04-15 00:12:54 +00:00
|
|
|
<reference id="ref.swf">
|
2004-02-24 08:46:39 +00:00
|
|
|
<title>Shockwave Flash Functions</title>
|
2002-04-15 00:12:54 +00:00
|
|
|
<titleabbrev>SWF</titleabbrev>
|
|
|
|
|
|
|
|
<partintro>
|
2002-07-28 14:03:04 +00:00
|
|
|
|
|
|
|
<section id="swf.intro">
|
|
|
|
&reftitle.intro;
|
|
|
|
<para>
|
|
|
|
PHP offers the ability to create Shockwave Flash files via Paul
|
|
|
|
Haeberli's libswf module.
|
|
|
|
</para>
|
|
|
|
<note>
|
|
|
|
<para>
|
|
|
|
SWF support was added in PHP 4 RC2.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
The libswf does not have support for Windows. The development of
|
|
|
|
that library has been stopped, and the source is not available
|
|
|
|
to port it to another systems.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
For up to date SWF support take a look at the
|
|
|
|
<link linkend="ref.ming">MING</link> functions.
|
|
|
|
</para>
|
|
|
|
</note>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section id="swf.requirements">
|
|
|
|
&reftitle.required;
|
|
|
|
<para>
|
|
|
|
You need the libswf library to compile PHP with support for this
|
|
|
|
extension. You can download libswf at <ulink
|
|
|
|
url="&url.swf;">&url.swf;</ulink>.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
2002-12-02 12:55:46 +00:00
|
|
|
&reference.swf.configure;
|
2002-07-28 14:03:04 +00:00
|
|
|
|
|
|
|
<section id="swf.configuration">
|
|
|
|
&reftitle.runtime;
|
|
|
|
&no.config;
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section id="swf.resources">
|
|
|
|
&reftitle.resources;
|
|
|
|
&no.resource;
|
|
|
|
</section>
|
|
|
|
|
|
|
|
&reference.swf.constants;
|
|
|
|
|
|
|
|
<section id="swf.examples">
|
|
|
|
&reftitle.examples;
|
|
|
|
<para>
|
|
|
|
Once you've successfully installed PHP with Shockwave Flash
|
|
|
|
support you can then go about creating Shockwave files from PHP.
|
|
|
|
You would be surprised at what you can do, take the following
|
|
|
|
code:
|
|
|
|
<example>
|
|
|
|
<title>SWF example</title>
|
|
|
|
<programlisting role="php">
|
2002-04-15 00:12:54 +00:00
|
|
|
<![CDATA[
|
|
|
|
<?php
|
2003-12-15 16:55:22 +00:00
|
|
|
swf_openfile("test.swf", 256, 256, 30, 1, 1, 1);
|
|
|
|
swf_ortho2(-100, 100, -100, 100);
|
|
|
|
swf_defineline(1, -70, 0, 70, 0, .2);
|
|
|
|
swf_definerect(4, 60, -10, 70, 0, 0);
|
|
|
|
swf_definerect(5, -60, 0, -70, 10, 0);
|
|
|
|
swf_addcolor(0, 0, 0, 0);
|
2002-04-15 00:12:54 +00:00
|
|
|
|
2003-12-15 16:55:22 +00:00
|
|
|
swf_definefont(10, "Mod");
|
|
|
|
swf_fontsize(5);
|
|
|
|
swf_fontslant(10);
|
|
|
|
swf_definetext(11, "This be Flash wit PHP!", 1);
|
2002-04-15 00:12:54 +00:00
|
|
|
|
2003-12-15 16:55:22 +00:00
|
|
|
swf_pushmatrix();
|
|
|
|
swf_translate(-50, 80, 0);
|
|
|
|
swf_placeobject(11, 60);
|
|
|
|
swf_popmatrix();
|
2002-04-15 00:12:54 +00:00
|
|
|
|
|
|
|
for ($i = 0; $i < 30; $i++) {
|
|
|
|
$p = $i/(30-1);
|
2003-12-15 16:55:22 +00:00
|
|
|
swf_pushmatrix();
|
|
|
|
swf_scale(1-($p*.9), 1, 1);
|
2004-03-17 19:30:14 +00:00
|
|
|
swf_rotate(60*$p, 'z');
|
2003-12-15 16:55:22 +00:00
|
|
|
swf_translate(20+20*$p, $p/1.5, 0);
|
|
|
|
swf_rotate(270*$p, 'z');
|
|
|
|
swf_addcolor($p, 0, $p/1.2, -$p);
|
|
|
|
swf_placeobject(1, 50);
|
|
|
|
swf_placeobject(4, 50);
|
|
|
|
swf_placeobject(5, 50);
|
|
|
|
swf_popmatrix();
|
|
|
|
swf_showframe();
|
2002-04-15 00:12:54 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
for ($i = 0; $i < 30; $i++) {
|
2003-12-15 16:55:22 +00:00
|
|
|
swf_removeobject(50);
|
2002-04-15 00:12:54 +00:00
|
|
|
if (($i%4) == 0) {
|
2003-12-15 16:55:22 +00:00
|
|
|
swf_showframe();
|
2002-04-15 00:12:54 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2003-12-15 16:55:22 +00:00
|
|
|
swf_startdoaction();
|
|
|
|
swf_actionstop();
|
|
|
|
swf_enddoaction();
|
2002-04-15 00:12:54 +00:00
|
|
|
|
2003-12-15 16:55:22 +00:00
|
|
|
swf_closefile();
|
2002-04-15 00:12:54 +00:00
|
|
|
?>
|
|
|
|
]]>
|
2002-07-28 14:03:04 +00:00
|
|
|
</programlisting>
|
|
|
|
</example>
|
2002-04-15 00:12:54 +00:00
|
|
|
</para>
|
2002-07-28 14:03:04 +00:00
|
|
|
</section>
|
|
|
|
|
2002-04-15 00:12:54 +00:00
|
|
|
</partintro>
|
|
|
|
|
|
|
|
&reference.swf.functions;
|
|
|
|
|
|
|
|
</reference>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
|
|
Local variables:
|
|
|
|
mode: sgml
|
|
|
|
sgml-omittag:t
|
|
|
|
sgml-shorttag:t
|
|
|
|
sgml-minimize-attributes:nil
|
|
|
|
sgml-always-quote-attributes:t
|
|
|
|
sgml-indent-step:1
|
|
|
|
sgml-indent-data:t
|
|
|
|
indent-tabs-mode:nil
|
|
|
|
sgml-parent-document:nil
|
|
|
|
sgml-default-dtd-file:"../../../manual.ced"
|
|
|
|
sgml-exposed-tags:nil
|
|
|
|
sgml-local-catalogs:nil
|
|
|
|
sgml-local-ecat-files:nil
|
|
|
|
End:
|
|
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
|
|
vim: et tw=78 syn=sgml
|
|
|
|
vi: ts=1 sw=1
|
|
|
|
-->
|
|
|
|
|