用PHP动态创建Flash动画

 更新时间:2016年11月25日 16:14  点击:1291
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文件。
  Windows系统内置的Internet 信息服务(IIS)对ASP具有良好的支持,因此在IIS中调试ASP网页是非常方便的。但有些朋友的网页采用PHP编程技术,默认情况下,IIS是不支持PHP的,手工配置IIS的PHP调试环境对我们这些菜鸟来说是非常困难的,那如何才能让IIS支持 PHP呢?下面介绍一种方法,只需要简单几步就能在IIS中配置好PHP调试环境。
 
  安装IIS组件
   笔者以Windows XP系统的IIS5.1为例,首先必须安装IIS组件,系统默认是安装了的。如果你的系统中还没有,进入到“控制面板→添加或删除程序→添加/删除Windows组件”,在“Windows组件向导”对话框中选中“Internet 信息服务(IIS)”选项(如图1),单击“下一步”按钮就能完成IIS组件的安装。
 



图1 安装IIS组件

  配置PHP调试环境
  从“http:// www.fyrose.com/php406.exe ”下载PHP安装程序到本地机器,下面我们就使用PHP的安装向导完成对PHP调试环境的配置。
 


图2 选择Web服务器

  运行PHP软件包的安装程序,在弹出的欢迎窗口中单击“Next”按钮,接着在“许可协议”窗口中单击“I Agree”按钮,然后在安装类型(Installation Type)窗口中选择“标准(Standard)”安装,点击“Next”按钮后,指定PHP的安装目录,建议使用默认安装目录。接着“Mail configuration”窗口中设置邮件地址和指定SMTP服务器,在“服务类型(Server Type) ”窗口中选择你使用的Web服务器的类型(如图2),因为我们使用Windows XP系统自带的IIS5.1,选择“Microsoft iis4 or higher”单选项,点击“下一步”后开始安装,最后在“IIS Scriptmap Node selection”窗口中选中所有的站点(如图3),点击“OK”按钮,就完成了PHP的安装和配置。
 



图3 选中所有站点
  检查PHP调试环境配置
  进入到“控制面板→管理工具”,运行Internet 信息服务程序,右键点击“默认网站”在弹出的菜单中选择“属性”,接着在弹出的属性对话框中切换到“主目录”标签页,点击应用程序设置栏中的“配置”按钮,弹出“应用程序配置”对话框,在“映射”标签页中,查看应用程序映射列表框中是否有扩展名为“.ph p”的选项(如图4),如果存在则表示PHP安装配置成功。
存储过程和函数是MySql5.0刚刚引入的。关于这方面的操作在PHP里面没有直接的支持。但是由于Mysql PHP API的设计,使得我们可以在以前的PHP版本中的mysql php api中支持存储过程和函数的调用。
在php中调用存储过程和函数。
1。调用存储过程的方法。
a。如果存储过程有 IN/INOUT参数,声明一个变量,输入参数给存储过程,该变量是一对,
一个php变量(也可以不必,只是没有php变量时,没有办法进行动态输入),一个Mysql
变量。
b。如果存储过程有OUT变量,声明一个Mysql变量。
mysql变量的声明比较特殊,必须让mysql服务器知道此变量的存在,其实也就是执行一条mysql语句。
入set @mysqlvar=$phpvar ;
c。使用mysql_query()/mysql_db_query()执行mysql 变量声明语句。
mysql_query("set @mysqlvar【=$pbpvar】");
这样,在mysql服务器里面就有一个变量,@mysqlar。如果时IN参数,那么其值可以有phpar传入。
d。
 如果时存储过程。
1。执行 call procedure()语句。
也就是mysql_query("call proceduer([var1]...)");
2. 如果有返回值,执行select @ar,返回执行结果。
mysql_query("select @var)"
接下来的操作就和php执行一般的mysql语句一样了。可以通过mydql_fetch_row()等函数获得结果。
如果时函数。
 直接执行 select function() 就可以了。
$host="localhost";
$user="root";
$password="11212";
$db="samp_db";
$dblink=mysql_connect($host,$user,$password)
or die("can't connect to mysql");
mysql_select_db($db,$dblink)
or die("can't select samp_db");
$res=mysql_query("set @a=$password",$dblink);
$res=mysql_query("call aa(@a)",$dblink);
$res=mysql_query("select @a",$dblink);
$row=mysql_fetch_row($res);
echo $row[0];

转自:动态网制作指南 www.111cn.net

1,要下载2个php的安装包:一个是install版本的,另一个是zip版本的 。
2,运行install版本,按照标准模式安装就可以了,安装过程中注意正确选择你的iIS版本。
2000server 选iis4或更高版本 ,2003server选择iis 6.
关联.php,.phtml.php3等文件类型。这里设定d:php作为安装目录
3,别着急,现在还不能马上用.把zip版的解压缩,到d:php5zip文件夹下面,copy目录下所有的文件和目录,然后粘贴到d:php,覆盖下面的所有文件.
4,C:PHPext下面的dll扩展文件复制到c:windowssystem32下面,*给guests用户组(我的机器上,每个站点设置了用不同的匿名用户,这些用户都属于guests组,如果你只有一个ISUR_你的机器名,则只需要设置ISUR_你的机器名的权限)这些关于PHP5的dll文件读取和运行的权限。
5,*给guests用户组php.exe,php-cgi.exe,php5isapi.dll读取和运行的权限。
6,*设置c:windowsphp.ini 或者 c:winntphp.ini为guests用户组可以:读取.
7,最后,别忘记在IIS里面给站点属性--〉文档里增加index.php或者default.php
8,MySQL的启用:
需要去掉c:windowsphp.ini 或者 c:winntphp.ini里面关于php_mysqli.dll扩展的注释
另外增加extension=php_mysql.dll
9,好了,如果要增加图形或其他功能,修改php.ini 里面的extension,并且把相关的dll文件复制到c:windowssystem32下面,并给guests用户组这些关于PHP5的dll文件读取和运行的权限。


第三章 范例:the Hangman Game


  这一章将会讲一下开发一个基于Web的Hangman Game(猜词游戏)。这里面会用到一些PRADO的组件。这个游戏说明了显示状态使PRADO页面具有很强的交互性。
  这个游戏只包括了一个页面来实现以下的功能:当用户第一次访问的时候,允许用户选择三种不同难度来开始这个游戏,不同的难度对应着不同的可以猜错的次数。游戏开始后,页面的上半部分会显示要猜得单词,没有猜中的字母用下划线显示。页面的下半部分列出了26个字母,用户可以点击对应字母来选择要猜的字母。如果用户放弃游戏或者错误次数超过了难度限制,会显示失败信息;如果猜对了,会显示成功信息。任何时候用户都可以重新开始游戏。
 

  范例中会使用的 PRADO 组件包括:

TRadioButton: 显示一个单选框。
TPanel: 显示 <div> 元素。
TLabel: 显示文本。
TButton: 显示一个提交按钮。
TLinkButton: 显示一个提交操作的超链接。
TForm: 显示 <form> 元素。
 

  这些定义好的组件通过属性和事件已经封装好了很多功能。比如,可以设置TPanelVisible
属性来控制整个<div>元素是不是可见。可以给TButton 组件的OnClick 事件指定一个响应函数,这样当用户点击按钮的时候就会自动调用响应函数。请参考PRADO API文档中关于这些组件更详细的信息。
  游戏中的一些数据在游戏过程中需要一值保持着的。因为这里只用了一个页面,所以可以使用显示状态而不需要使用session来保存这些数据。下面这些数据需要保存在显示状态中:

Word:要猜得单词。
GuessWord: 正在猜的单词(没有猜中用下划线显示)。
Level:游戏的难度级别。
Misses: 猜错的次数。
 

  他们都被定义在页面的属性中(当然也可以不这么做)。
 
  我们需要创建6个文件。假定这个应用放在Web服务器的根目录下,这些文件是:

hangman.php : 应用的主入口;
WEB-INF/hangman.spec: 应用的配置文件;
WEB-INF/hangman/HomePage.php: 页面类文件;
WEB-INF/hangman/HomePage.spec: 页面规格文件;
WEB-INF/hangman/HomePage.tpl: 页面模板文件;
WEB-INF/data/hangman.txt: 包含要猜得单词的文本文件。
[!--infotagslink--]

相关文章

  • ps动态环绕动画效果怎么制作

    ps动态环绕动画效果是现在很多人都非常喜欢的,大多数人还不知道ps动态环绕动画效果怎么制作下面文章就给大家介绍下ps怎么制作科技感十足的动态环绕动画效果,一起来看看...2017-07-06
  • JavaScript动态创建div属性和样式示例代码

    1.创建div元素: Javascript代码 复制代码 代码如下: <scripttypescripttype="text/javascript"> functioncreateElement(){ varcreateDiv=document.createElement("div"); createDiv.innerHTML="Testcreateadiveleme...2013-10-13
  • JS创建Tag标签的方法详解

    这篇文章主要介绍了JS创建Tag标签的方法,结合具体实例形式分析了javascript动态操作页面HTML元素实现tag标签功能的步骤与相关操作技巧,需要的朋友可以参考下...2017-06-15
  • jQuery动画效果相关方法实例分析

    这篇文章主要介绍了jQuery动画效果相关方法,结合实例形式较为详细的分析了jQuery实现动画效果所用到的常见方法与相关注意事项,需要的朋友可以参考下...2016-01-05
  • 详解vue过度效果与动画transition使用示例

    Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果,Vue 提供了内置的过渡封装组件transition,该组件用于包裹要实现过渡效果的组件...2021-10-10
  • 什么是cookie?js手动创建和存储cookie

    什么是cookie? cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。 有关cookie的例子: 名字 cookie 当访...2014-05-31
  • 微信小程序实现登录页云层漂浮的动画效果

    微信小程序目前的火热程度相信不用多言,最近利用空余时间用小程序实现了个动态的登录页效果,所以下面这篇文章主要给大家介绍了利用微信小程序实现登录页云层漂浮动画效果的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。...2017-05-09
  • 利用PS制作“签名”GIF小动画的例子

    本文章来为各位介绍一篇利用PS制作“签名”GIF小动画的例子,希望这个制作过程能够帮助到各位朋友,各位进入看看吧。 先给大家看下效果,有兴趣的童鞋&rarr;_&rarr;可以...2016-09-14
  • PS如何创建变形文字 ps给文字变形的方法

    PS怎么创建变形文字?ps中想要给输入的文字变形,该怎么调整文字的显示形态呢?下面我们就来看看ps给文字变形的方法,需要的朋友可以参考下 我们在图层上输入文字后,可以...2017-07-06
  • 公众号SVG动画交互实战代码

    这篇文章主要介绍了公众号SVG动画交互实战代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-01
  • idea 无法创建Scala class 选项的原因分析及解决办法汇总

    这篇文章主要介绍了idea 无法创建Scala class 选项的解决办法汇总,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02
  • php创建无限级树型菜单

    写递归函数,可考虑缓存,定义一些静态变量来存上一次运行的结果,多程序运行效率很有帮助.。 大概步骤如下: step1:到数据库取数据,放到一个数组, step2:把数据转化为一个树型状的数组, step3:把这个树型状的数组转为html代码。...2015-11-08
  • Drupal模块开发之创建自己的钩子

    Drupal可以让第三方模块创建自己的钩子。在通常的实践中,有两种类型的钩子你可能想要创建,一种是内容修改类的钩子,一种是拦截类的钩子。 Drupal的钩子系统允许和模...2016-11-25
  • js实现缓动动画

    这篇文章主要为大家详细介绍了js实现缓动动画,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-11-25
  • javascript创建对象的几种模式介绍

    下面小编就为大家带来一篇javascript创建对象的几种模式介绍。小编觉得挺不错的,现在分享给大家,也给大家做个参考...2016-05-09
  • jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)

    这篇文章主要介绍了jQuery实现的给图片点赞+1动画效果,并附带在线演示及demo源码下载,涉及jQuery鼠标事件响应及页面元素属性动态操作相关技巧,需要的朋友可以参考下...2016-01-05
  • C#创建Windows服务的实现方法

    这篇文章主要介绍了C#创建Windows服务的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • jQuery实现的点赞随机数字显示动画效果(附在线演示与demo源码下载)

    这篇文章主要介绍了jQuery实现的点赞随机数字显示动画效果,并附带在线演示与demo源码供读者下载.涉及jQuery鼠标事件响应及基于animate动画效果实现技巧,需要的朋友可以参考下...2016-01-05
  • JS实现点击登录弹出窗口同时背景色渐变动画效果

    这篇文章主要介绍了JS实现点击登录弹出窗口同时背景色渐变动画效果,涉及JavaScript基于鼠标事件及时间函数定时触发形成渐变动画的相关技巧,需要的朋友可以参考下...2016-03-28
  • Photoshop利用智能对象将人物制作成花海里飘散消失的GIF动画教程

    今天小编在这里就来给Photoshop的这一款软件的使用者们来说一说利用智能对象将人物制作成花海里飘散消失的GIF动画的教程,各位想知道具体方法的使用者们,那么大家就快来...2016-09-14