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

# CLX. Shockwave Flash 関数

# 導入

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

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

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

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

> 注意: この拡張モジュールは PECL レポジトリに移動 されており、以下のバージョン以降 PHP にバンドルされなくなっています。 PHP 5.0.0.

# 要件

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();
?>`

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