下面這幾款php生成flash文件代碼,是從簡單的生成swf文件到生成 flash動(dòng)畫文件等,每個(gè)實(shí)例都是經(jīng)典的.
例一:首先開啟php擴(kuò)展php_ming,實(shí)例代碼如下:
- $f = new swffont( '_sans' );
- $t = new swftextfield();
- $t->setfont( $f );
- $t->setcolor( 0, 0, 0 );
- $t->setheight( 400 );
- $t->addstring( 'hello world' );
- $m = new swfmovie();
- $m->setdimension( 2500, 800 );
- $m->add( $t );
- $m->save( 'hello.swf' );
例二:讓文本動(dòng)起來text.php,代碼如下:
- <?php
- $f = new swffont( '_sans' );
- $pt = new swftextfield();
- $pt->setfont( $f );
- $pt->setcolor( 0, 0, 0 );
- $pt->setheight( 400 );
- $pt->addstring( '1000' );
- $tt = new swftextfield();
- $tt->setfont( $f );
- $tt->setcolor( 192, 192, 192, 90 );
- $tt->setheight( 350 );
- $tt->addstring( 'points' );
- $m = new swfmovie();
- $m->setdimension( 2500, 800 );
- $pts = $m->add( $pt );
- $pts->moveto( 0, 0 );
- $tts = $m->add( $tt );
- $tts->moveto( 1300, 200 );
- for( $i = 0; $i < 10; $i++ ) {
- $m->nextframe();
- $pts->scaleto( 1.0 + ( $i / 10.0 ), 1.0 + ( $i / 10.0 ) );
- }
- $m->save( 'text.swf' );
- ?>
例三:繪制一些圖形,繪制簡單的直線 line.php,實(shí)例代碼如下:
- <?php
- $m = new swfmovie();
- $m->setdimension( 300, 300 );
- $s = new swfshape();
- $s->setline( 10, 0, 0, 0 );
- $s->movepento( 10, 10 );
- $s->drawlineto( 290, 290 );
- $m->add( $s );
- $m->save( 'line.swf' );
- ?>
例四:旋轉(zhuǎn)直線,代碼如下:
- <?php
- $m = new swfmovie();
- $m->setdimension( 300, 300 );
- $s = new swfshape();
- $s->setline( 5, 0, 0, 0 );
- $s->movepento( -100, -100 );
- $s->drawlineto( 100, 100 );
- $ts = $m->add( $s );
- $ts->moveto( 150, 150 );
- //開源代碼Vevb.com
- for( $i = 0; $i < 100; $i++ ) {
- $ts->rotate( 10 );
- $m->nextframe();
- }
- $m->save( 'rotate.swf' );
- ?>
例五:使用圖片
文本和諸如直線、圓、弧、曲線和矩形之類的簡單矢量圖形都是十分優(yōu)秀的,但在理想的情況下,您必須能訪問這些 flash 動(dòng)畫中的圖片,值得慶幸的是,ming 庫使您可以輕松的使用圖片,如下所示:
- <?php
- $img = new swfbitmap( file_get_contents( 'megan.jpg' ) );
- $s = new swfshape();
- $imgf = $s->addfill( $img );
- $s->setrightfill( $imgf );
- $s->movepento( 0, 0 );
- $s->drawlineto( $img->getwidth(), 0 );
- $s->drawlineto( $img->getwidth(), $img->getheight() );
- $s->drawlineto( 0, $img->getheight() );
- $s->drawlineto( 0, 0 );
- $m = new swfmovie();
- $m->setdimension( $img->getwidth() * 2, $img->getheight() * 2 );
- $is = $m->add( $s );
- $is->moveto( $img->getwidth() / 2, $img->getheight() / 2 );
- for( $i = 0; $i < 10; $i++ )
- {
- $is->skewx( 0.02 );
- $is->skewy( -0.03 );
- $m->nextframe();
- }
- $m->save( 'image.swf' );
- ?>
新聞熱點(diǎn)
疑難解答