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

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

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