Forum und email

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

Warning

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: » [email protected].

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: » https://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

Example#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

Table of Contents