Kiss-Tóth Marcell Flash és PHP? De még mennyire!
Tartalom Bevezetés A Mingről Ming és Flash Példák a Ming használatára LoadVariables Példa a LoadVariables használatára XML foglalatok Linkek Kérdések
Bevezetés Flash: Flash Player: több mint 520 millióan használják Szinte bármit megvalósíthatunk vele Kis méret -> gyors letöltés A Flash okos használata Libswf: Generáljunk Flash mozikat PHP-n keresztül Az első ilyen irányú fejlesztés Ingyenes PHP modul Egy verziót ért meg, már nem fejlesztik
A Mingről Ingyenes, nyílt forráskódú modul (LGPL) 0.3-as verzió Támogatja: C++, Java, Perl, Python, Ruby, PHP Egyszerű telepítés OOP módon használhatjuk Követelmények (PHP-s használathoz): Webszerver (pl. Apache, IIS) PHP értelmező A könyvtárnak írhatónak kell lennie
Ming és Flash 1 twing = 20 képpont A Mingből is használhatunk ActionScriptet Lehetőségünk van ezt külső fájlból is meghívnunk Következő példák: Háromszög kirajzolása Minggel (ActionScript) Négyszög kirajzolása Minggel (ActionScript nélkül) „Forgó négyszög” megvalósítása Minggel (ActionScript nélkül)
haromszog.as fájl: createEmptyMovieClip('haromszog', 1); haromszog.lineStyle(5, 0xff0000, 100); haromszog.moveTo(200, 200); haromszog.lineTo(300,300); haromszog.lineTo(100, 300); haromszog.lineTo(200, 200); Háromszög kirajzolása (AS) [1/2]
<?php ming_setScale(20); ming_useswfversion(6); $movie=new SWFMovie(); $movie->setDimension(550,400); $movie->setBackground(0xff,0xff,0xff); $movie->setRate(12); $strAction=join("", file("haromszog.as")); $movie->add(new SWFAction($strAction)); $movie->save("haromszog.swf"); ?> Háromszög kirajzolása (AS) [2/2]
Háromszög kirajzolása [demo]
Négyszög kirajzolása (Ming) [1/2] <?php ming_setScale(20); ming_useswfversion(6); $movie=new SWFMovie(); $movie->setDimension(550,400); $movie->setBackground(0xff,0xff,0xff); $movie->setRate(12); $negyszog=new SWFShape(); $negyszog->setRightFill(255,0,0); $negyszog->drawLine(100,0);
Négyszög kirajzolása (Ming) [2/2] $negyszog->drawLine(0,100); $negyszog->drawLine(-100,0); $negyszog->drawLine(0,-100); $negyszog_1=$movie->add($negyszog); $negyszog_1->moveTo(100,100); $negyszog_2=$movie->add($negyszog); $negyszog_2->moveTo(200,300); $negyszog_2->rotate(90); $movie->save("negyszog.swf"); ?>
Négyszög kirajzolása [demo]
„Forgó négyszög” (Ming) [1/2] <?php ming_setScale(20); ming_useswfversion(6); $movie=new SWFMovie(); $movie->setDimension(550,400); $movie->setBackground(0xff,0xff,0xff); $movie->setRate(31); $negyszog=new SWFShape(); $negyszog->setRightFill(255,0,0); $negyszog->movePenTo(-50,-50);
„Forgó négyszög” (Ming) [2/2] $negyszog->drawLine(100,0); $negyszog->drawLine(0,100); $negyszog->drawLine(-100,0); $negyszog->drawLine(0,-100); $forgo=$movie->add($negyszog); $forgo->moveTo(250,200); for($i=0; $i<50; $i++) { $forgo->rotate($i); $movie->nextFrame(); } $movie->save("forgo.swf"); ?>
„Forgó négyszög” [demo]
LoadVariables Kommunikáció két irányban A loadVariables-t a Flash 4-es verzióját használhatjuk Adatokat olvas be egy külső állományból Használata: loadVariables(url, hely[, változók]) url: abszolút vagy relatív hivatkozás hely: szint vagy célpont ahová a változókat be akarjuk tölteni változók (opc. paraméter): adatok elküldése GET vagy POST módon
LoadVariables példa PHPinfo() függvény kimenetének görgetése Flashben szoveg.php: <?php echo "szoveg= PHP verzio: "; echo phpversion(); echo " Betoltott modulok: "; $modulok=get_loaded_extensions(); echo "- ". join(" - ", $modulok). " "; ?>
LoadVariables példa [demo]
XML foglalatok Mik azok az XML foglalatok (XMLSockets)? Objektumok, segítségükkel kommunikálhatunk egy kiszolgálóval Hol alkalmazható? Valós idejű üzenetcserét követelő alkalmazásoknál Követelmények: Démon alkalmazás Az XML üzeneteket duplex TCP/IP foglalatokon keresztül kell küldenünk TCP portok > 1023 Azonos al-domain cím
Linkek Macromedia Flash MX Libswf Ming Ming könyvtár Windows alá További Ming példák
Kérdések