PHP マニュアル
前のページ |  | 次のページ

# CXI. Shockwave Flash関数

# 導入

PHPは、Paul Haeberliが作成したlibswfモジュールによりShockwave Flashファイルを作成する機能を提供します。

> 注意: SWFサポートは、PHP 4 RC2で追加されました。

> libswf は、Windows でサポートされていません。このライブラリの開発 は中止されており、他のシステムへ移植するためのソースは入手できま せん。

> 最新のSWFサポートについては、 MING関数を参照して下さい。

# 要件

PHPでこの拡張モジュールを使用するようコンパイルするためには、 libswfライブラリを必要とします。 libswfをftp://ftp.sgi.com/sgi/graphics/grafica/flash/でダウンロードす ることができます。

# インストール手順

libswfを入手した後にするべきことは、configureに --with-swf[=DIR]を指定することだ けです。ただし、DIRはディレクトリincludeおよびlibを有する場所です。 ディレクトリincludeにはファイルswf.hが、ディレクトリlibにはファイ ルlibswf.aがある必要があります。libswfの配布ファイルを展開した際に は、二つのファイルは一つのディレクトリにあります。結果的にファイル を適当な場所に手動でコピーする必要があります。

# 実行用の設定

この拡張モジュールは設定ディレクティブを全く定義しません。

# リソース型

この拡張モジュールはリソース型を全く定義しません。

# 定義済みの定数

これらの定数は、この拡張モジュールで定義されており、 この拡張モジュールがPHP内部にコンパイルされているか実行時に動的にロー ドされるかのどちらかの場合のみ使用可能です。

`MOD_COLOR` (integer)

`MOD_MATRIX` (integer)

`TYPE_PUSHBUTTON` (integer)

`TYPE_MENUBUTTON` (integer)

`BSHitTest` (float)

`BSDown` (float)

`BSOver` (float)

`BSUp` (float)

`OverDowntoIdle` (integer)

`IdletoOverDown` (integer)

`OutDowntoIdle` (integer)

`OutDowntoOverDown` (integer)

`OverDowntoOutDown` (integer)

`OverUptoOverDown` (integer)

`OverUptoIdle` (integer)

`IdletoOverUp` (integer)

`ButtonEnter` (integer)

`ButtonExit` (integer)

`MenuEnter` (integer)

`MenuExit` (integer)

# 例

PHPをShockwave Flashサポート付きでインストールした後は、 ShockwaveファイルをPHPから作成することができるようになります。 何ができるかが分かると驚かされることでしょう。次のコードを見て下さい。

例 1. SWFの例

`<?php
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);
swf_definefont (10, "Mod");
swf_fontsize (5);
swf_fontslant (10);
swf_definetext (11, "This be Flash wit PHP!", 1);
swf_pushmatrix ();
swf_translate (-50, 80, 0);
swf_placeobject (11, 60);
swf_popmatrix ();
for ($i = 0; $i < 30; $i++) {
$p = $i/(30-1);
swf_pushmatrix ();
swf_scale (1-($p*.9), 1, 1);
swf_rotate (60*$p, 'z');
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 ();
}
for ($i = 0; $i < 30; $i++) {
swf_removeobject (50);
if (($i%4) == 0) {
swf_showframe ();
}
}
swf_startdoaction ();
swf_actionstop ();
swf_enddoaction ();
swf_closefile ();
?>`

前のページ | ホーム | 次のページ
sqlite_unbuffered_query | 上に戻る | swf_actiongeturl