PHP kézikönyv
Előző |  | Következő

# LXXXII. Ming függvénykönyvtár Flash mozik előállításához

Figyelem
Ez a kiterjesztés KÍSÉRLETI JELLEGGEL MŰKÖDIK. Ez azt jelenti, hogy minden itt dokumentált működés, beleértve a függvények nevét, működését vagy bármi más, amit a kiterjesztés kapcsán leírtunk megváltozhat egy későbbi PHP kiadásban minden figyelmeztetés nélkül. Ezt a kiterjesztést csak a saját felelősségedre használd!

# Bevezetés

Mindenekelőtt: A "Ming" nem mozaikszó. A Ming egy nyílt forráskódú (LGPL) függvénykönyvtár, amely segítségével SWF formátumú (Flash) mozikat tudsz létrehozni. A Ming függvényeivel nagyjából lefedi a Flash 4 összes képeségét, mint: alakzatok, színátmenetek, bitmap képek (png és jpeg formátum), alakváltozások, szövegek, gombok, akciók, moziklipek, mp3 aláfestőzenék (stream típus), és színtranszformációk. Az egyedüli hiányosság, hogy eseményekhez rendelt hangkeltést nem tudunk vele létrehozni.

Érdemes még most, mindenek előtt tisztázni: a különféle hosszokat, távolságokat, méreteket mind "twip" (twenty units per pixel) mértékegységben kell megadni. Ez annyit jelent, hogy egy eredeti méreteiben megjelenített Flash moziban egy képpont húsz twinpek felel meg. Így lehet csak pontos, jól nagyítható mozikat létrehozni.

A már korábban létező PHP/libswf modulhoz képest a Ming több előrelépést is jelent. Egyrészt a Ming nyílt forráskódú, így lehetőség van bárhol, bármilyen rendszeren annak használatára, ahol a forrásból fordítást végre tudod hajtani. A libswf ezzel szemben nem publikus forrással rendelkezik, és csak a jelentősebb platformokra fordítottak belőle bináris függvénykönyvtárt. Ezen platformok közt a Windows nincs jelen. A Ming ráadásul jóval emberközelibb módon kínálja fel a Flash generáláshoz szükséges eljárásokat, ezeket különféle objektumokon keresztül tudjuk hívni. A Ming jelenleg is fejlesztés és karbantartás alatt áll. Ha van olyan, amit a Ming nem tud, de szükségesnek érzed, nosza tudasd velünk ezt a következő címen: ming@opaque.net.

A Ming modul a 4.0.5-ös php verziótól szerepel a hivatalos kiadásban.

# Követelmények

A Ming használatbavételéhez először is le kell fordítanod, és telepítened azt. Letölthető forráskódot, és telepítési útmutatót találsz a Ming saját honlapján: http://ming.sourceforge.net/. Ugyanitt találhasz példákat, egy kissebb gyorstalpalót, és a legfrissebb Ming-kapcsolatos híreket.

Töltsd le a Ming forráskódjának tömörített állományát, csomagold ki. Lépj bele a Ming könyvtárba, majd a következp parancsokat add ki: make, majd ha ez végzett: make isntall.

Ezen műveletek során létrejön a `libming.so` bináris állomány és a megfelelő helyre is telepedik: `/usr/lib/`. Emellett egy ming.h állomány is helyet kap az `/usr/include/` könyvtárban. Ha máshová szeretnéd telepíteni, akkor fordítás előtt módosítsd a `Makefile` állomány PREFIX= bejegyzését, hogy a telepítés helyét megjelöld magad.

# Telepítés

Példa 1. built into PHP (Unix) mkdir <phpdir>/ext/ming cp php_ext/* <phpdir>/ext/ming cd <phpdir> ./buildconf ./configure --with-ming <other config options>

Build and install PHP as usual, restart web server if necessary.

Now either just add extension=php_ming.so to your `php.ini` file, or put dl('php_ming.so'); at the head of all of your Ming scripts.

# Futásidejű beállítások

Ez a kiterjesztés semmilyen konfigurációs beállításokat nem definiál a `php.ini` állományban.

# Erőforrás típusok

# Előre definiált állandók

Az itt listázott állandókat ez a kiterjesztés definiálja, és csak akkor elérhetőek, ha az adott kiterjesztés be van fordítva a PHP-be, vagy dinamikusan betöltött.

`SWFBUTTON_HIT` (integer)

`SWFBUTTON_DOWN` (integer)

`SWFBUTTON_OVER` (integer)

`SWFBUTTON_UP` (integer)

`SWFBUTTON_MOUSEUPOUTSIDE` (integer)

`SWFBUTTON_DRAGOVER` (integer)

`SWFBUTTON_DRAGOUT` (integer)

`SWFBUTTON_MOUSEUP` (integer)

`SWFBUTTON_MOUSEDOWN` (integer)

`SWFBUTTON_MOUSEOUT` (integer)

`SWFBUTTON_MOUSEOVER` (integer)

`SWFFILL_RADIAL_GRADIENT` (integer)

`SWFFILL_LINEAR_GRADIENT` (integer)

`SWFFILL_TILED_BITMAP` (integer)

`SWFFILL_CLIPPED_BITMAP` (integer)

`SWFTEXTFIELD_HASLENGTH` (integer)

`SWFTEXTFIELD_NOEDIT` (integer)

`SWFTEXTFIELD_PASSWORD` (integer)

`SWFTEXTFIELD_MULTILINE` (integer)

`SWFTEXTFIELD_WORDWRAP` (integer)

`SWFTEXTFIELD_DRAWBOX` (integer)

`SWFTEXTFIELD_NOSELECT` (integer)

`SWFTEXTFIELD_HTML` (integer)

`SWFTEXTFIELD_ALIGN_LEFT` (integer)

`SWFTEXTFIELD_ALIGN_RIGHT` (integer)

`SWFTEXTFIELD_ALIGN_CENTER` (integer)

`SWFTEXTFIELD_ALIGN_JUSTIFY` (integer)

`SWFACTION_ONLOAD` (integer)

`SWFACTION_ENTERFRAME` (integer)

`SWFACTION_UNLOAD` (integer)

`SWFACTION_MOUSEMOVE` (integer)

`SWFACTION_MOUSEDOWN` (integer)

`SWFACTION_MOUSEUP` (integer)

`SWFACTION_KEYDOWN` (integer)

`SWFACTION_KEYUP` (integer)

`SWFACTION_DATA` (integer)

# Előre definiált osztályok

A következő osztályokat ez a kiterjesztés definiálja azaz csak akkor érhetőek el, ha ez a kiterjesztés a PHP-be fordítva vagy betöltve rendelkezésre áll.

A Ming 13 új osztályt hoz be a PHP rendszerbe, ezek mind saját tulajdonságokkal és eljárásokkal rendelkeznek. A használatba vételükhöz érdemes tehát ismerni, hogy kezeli a PHP az objektum alapú programozást.

swfshape

swffill

swfgradient

swfbitmap

swftext

swftextfield

swffont

swfdisplayitem

swfmovie

swfbutton

swfaction

swfmorph

swfsprite

Előző | Tartalom | Következő
mime_content_type | Fel | SWFButton::addASound