|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板Flash动画|创立|静态 Macromedia 公司出品的 Flash 动画软件现已成为Web页面上十分盛行的体现东西,网站开辟者使用它引发阅读者的乐趣。但是不幸的是,仅仅利用ActionScript创立动画遭到很大的限制,Macromedia已公布,盘算保持Flash Generator产物,转而采取撑持Flash MX的Cold Fusion,咱们的网站将向何处去呢?如今,咱们可以使用Ming PHP库来轻松地震态创立Flash动画,而且和咱们的代码无缝集成。咱们可以依据数据库里的数据创立出各类分歧后果的动画。
Ming 动画库最后呈现在PHP4.05版本里,替换了之前版本的LibSwf模块。Ming 库采取C编写,撑持多种言语,上面先看一下若何使用PHP来制造动画。该库利用复杂,和 PHP 严密集成,然而,该库依然处于实行阶段,今朝的版本是0.2a,在线的教程、例子、和匡助手册可让咱们便利地进修,Ming里的函数组织的很有层次,便利PHP和Flash开辟者查找。利用 PHP和Ming库,不仅让咱们的网站有华美的装潢,并且可以削减开辟Flash动画的费用和繁复的休息。
利用Ming库有两种体例,咱们可之内嵌到PHP里(对Unix平台而言),也能够把它作为一个PHP模块来运转,外面的函数撑持一切的平台,利用时也无需实例化。假如咱们把Ming库作为PHP模块来运转的话,咱们必需明白地挪用Ming库,和利用其他模块一样,然后利用该库里的函数。因为利用前必需先加载模块,与把Ming作为外部函数编译的体例比拟,要有一点功能的下落。
Ming库是完整收费的,咱们可以到创作者的网站下载,地址是:http://www.opaque.net/ming/,该网站有具体的利用手册和匡助,在利用前,请先看看装置和设置装备摆设申明,地址是:http://www.opaque.net/ming/install.html。别的,在PHP网站上也有利用手册和具体申明,地址是:http://www.php.net/ming。
一旦咱们准确装置和设置装备摆设了Ming库,咱们可以创立一个PHP对象,从PHP里挪用Ming的函数,经由过程挪用函数和属性,就能够界说咱们的动画了。在PHP模块里有13个对象,供应了Flash的一些功效,也有几个号令可以来掌握刊行时的参数设定。上面就看看若何使用它来创立动画。
利用Macromedia Flash创立SWF格局的动画,咱们先创立一些符号,Flash有三品种型的符号:图形、动画剪辑、按钮。一旦咱们创立了这些符号,咱们就能够把它们复制参与景里,每个拷贝称为一个实例,可以听任意多的实例到咱们的场景里。接上去就能够界说这些对象的行动了,也就是界说举措和活动轨迹,也能够界说动画的参数,如尺寸巨细和后台色彩,假如需求,可以保留成.SWF文件。
使用PHP的Ming库创立Flash动画,和Macromedia Flash一样,必需先创立一些符号,这些符号就是PHP对象的实例,然后界说这些对象在动画场景里的地位和互相关系,接着界说对象在每帧里的举措,最初界说动画本人。咱们可以直接把SWF直接输入到阅读器,也能够保留成SWF格局的文件,以备后用。Flash的长处就是图形化的用户接口,使用Ming库不仅可以加倍复杂的掌握对象,并且具有没有限的扩大性和再用性。
上面咱们就用一个完全的例子来看看若何利用Ming库:
<?php
/* 起首创立一个符号,并填充色彩 */
$square = new SWFShape();
$sqfill = $square->addFill(0, 0, 0xff);
$square->setRightFill($sqfill);
$square->movePenTo(-250,-250);
$square->drawLineTo(250,-250);
$square->drawLineTo(250,250);
$square->drawLineTo(-250,250);
$square->drawLineTo(-250,-250);
/* 在动画剪辑里利用下面的符号,并添加一些剧本 */
$sqclip = new SWFSprite();
$i = $sqclip->add($square);
$i->setDepth(1);
$sqclip->setframes(25);
$sqclip->add(new SWFAction("stop();"));
$sqclip->nextFrame();
$sqclip->add(new SWFAction("play();"));
for($n=0; $n<24; $n++) {
$i->rotate(-15);
$sqclip->nextFrame();
}
/* 上面创立按钮 */
function rect($r, $g, $b) {
$s = new SWFShape();
$s->setRightFill($s->addFill($r, $g, $b));
$s->drawLine(500,0);
$s->drawLine(0,500);
$s->drawLine(-500,0);
$s->drawLine(0,-500);
return $s;
}
$b = new SWFButton();
$b->addShape(rect(0xff, 0, 0), SWFBUTTON_UP | SWFBUTTON_HIT);
$b->addShape(rect(0, 0xff, 0), SWFBUTTON_OVER);
$b->addShape(rect(0, 0, 0xff), SWFBUTTON_DOWN);
$b->addAction(new SWFAction("setTarget('/box'); gotoandplay(2);"), SWFBUTTON_MOUSEDOWN);
/* 上面创立动画,并添加下面的符号和按钮 */
$m = new SWFMovie();
$m->setDimension(4000,3000);
$i = $m->add($sqclip);
$i->setDepth(3);
$i->moveTo(1650, 400);
$i->setName("box");
$i = $m->add($b);
$i->setDepth(2);
$i->moveTo(1400,900);
/* 最初,咱们把它输入到阅读器 */
header('Content-type: application/x-shockwave-flash');
$m->output();
?>
好了,在你的机械上运转一下看看,是否是和用Flash创立的一样!要失掉更多的函数申明,请参考操作手册。
会有很多高手的鼓励,新手的支持,慢慢你劲头就十足,有更多的信心和兴趣去学。 |
|