200 likes | 337 Vues
Kiss-Tóth Marcell www.kiss-toth.hu. 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éld a a LoadVariables használatára XML foglalatok Linkek Kérdések. Bevezetés. Flash:
E N D
Kiss-Tóth Marcell www.kiss-toth.hu 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)
Háromszög kirajzolása (AS) [1/2] 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) [2/2] <?php ming_setScale(20); ming_useswfversion(6); $movie=newSWFMovie(); $movie->setDimension(550,400); $movie->setBackground(0xff,0xff,0xff); $movie->setRate(12); $strAction=join("",file("haromszog.as")); $movie->add(newSWFAction($strAction)); $movie->save("haromszog.swf"); ?>
Négyszög kirajzolása (Ming) [1/2] <?php ming_setScale(20); ming_useswfversion(6); $movie=newSWFMovie(); $movie->setDimension(550,400); $movie->setBackground(0xff,0xff,0xff); $movie->setRate(12); $negyszog=newSWFShape(); $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"); ?>
„Forgó négyszög” (Ming) [1/2] <?php ming_setScale(20); ming_useswfversion(6); $movie=newSWFMovie(); $movie->setDimension(550,400); $movie->setBackground(0xff,0xff,0xff); $movie->setRate(31); $negyszog=newSWFShape(); $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"); ?>
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=<b>PHP verzio:</b> "; echo phpversion(); echo "<br><br><b>Betoltott modulok:</b><br> "; $modulok=get_loaded_extensions(); echo "- ". join("<br>- ",$modulok) ."<br>"; ?>
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 2004 • http://www.macromedia.com/software/flash • Libswf • http://sourceforge.net/projects/libswf • Ming • http://ming.sourceforge.net • Ming könyvtár Windows alá • http://kromann.info/php4/php_ming.dll • További Ming példák • http://www16.brinkster.com/gazb/ming