PHP 手冊
前一頁 |  | 下一頁

# CXXII. Shockwave Flash Functions

# 介紹

PHP offers the ability to create Shockwave Flash files via Paul Haeberli's libswf module.

> 注: SWF support was added in PHP 4 RC2.

> 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.

> For up to date SWF support take a look at the MING functions.

# 需求

You need the libswf library to compile PHP with support for this extension. You can download libswf at ftp://ftp.sgi.com/sgi/graphics/grafica/flash/.

# 安裝

Once you have libswf all you need to do is to configure --with-swf[=DIR] where DIR is a location containing the directories include and lib. The include directory has to contain the `swf.h` file and the lib directory has to contain the `libswf.a` file. If you unpack the libswf distribution the two files will be in one directory. Consequently you will have to copy the files to the proper location manually.

# 執行時期組態

`php.ini`中沒有定義此延伸的組態指令。

# 資源類型

這個延伸沒有定義任何資源。

# 預先定義常數

以下的常數由此延伸定義，只在這個延伸被編譯成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)

# 範例

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:

範例 1. SWF example

`<?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