仓酷云

标题: PHP教程之用PHP静态创立Flash动画 [打印本页]

作者: 爱飞    时间: 2015-2-4 00:28
标题: PHP教程之用PHP静态创立Flash动画
不断巩固,摸透大部分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创立的一样!要失掉更多的函数申明,请参考操作手册。
  会有很多高手的鼓励,新手的支持,慢慢你劲头就十足,有更多的信心和兴趣去学。
作者: 蒙在股里    时间: 2015-2-4 13:10
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
作者: 谁可相欹    时间: 2015-2-9 23:06
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
作者: 第二个灵魂    时间: 2015-2-25 15:21
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
作者: 若天明    时间: 2015-3-7 22:48
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 小妖女    时间: 2015-3-8 02:51
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者: 飘灵儿    时间: 2015-3-8 07:17
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
作者: 兰色精灵    时间: 2015-3-8 17:40
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
作者: 再现理想    时间: 2015-3-15 23:44
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
作者: 活着的死人    时间: 2015-3-21 13:24
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
作者: 金色的骷髅    时间: 2015-3-21 21:43
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
作者: 乐观    时间: 2015-3-27 00:49
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
作者: 愤怒的大鸟    时间: 2015-4-12 15:54
做为1门年轻的语言,php一直很努力。
作者: admin    时间: 2015-4-12 16:26
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: 因胸联盟    时间: 2015-4-16 19:06
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
作者: 小女巫    时间: 2015-4-30 20:28
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
作者: 精灵巫婆    时间: 2015-5-1 12:10
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 简单生活    时间: 2015-5-6 20:36
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
作者: 若相依    时间: 2015-5-12 02:45
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
作者: 灵魂腐蚀    时间: 2015-6-3 22:07
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2