Home
Website
Template
Founctional
Promotion
Material
Example
Contact
当前位置:中意源科技 

用Flash制作Google搜索程序
【录入:allies  发文:信息部  发布时间:2007/01/01】

  
  

 在我们构造Google 搜索程序之前我们还需要Google Web APIs Developers Kit,你可以从http://www.google.com/apis/download.html下截直接解压缩就可以了。里面已经含了所需要的文件和已经编译好的文件,官方地址是http://www.google.com/apis。不过实际上对我们有用的只是GoogleSearch.wsdl这个文件,把这个文件和SWF文件放在同一文件夹运行既可。

  构造一个Flash 表单屏屏幕

  1. 在 Flash MX Professional, 选择 File > New 并选择 Flash Form Application. 这将创建一个默认包含两个嵌套表单的应用程序。

  2. 在属性面板中改变form1这个实例名为 frmSearch.。这个表单将包含搜索的主界面。

  3. 右击“frmSearch”并选择“Insert Nested Screen”,这一步将在“frmSearch”下面创建一个名字为form2的新表单屏幕,改变新表单屏幕的实例为frmLoading。

  4. 现在你可以增加UI 组件(components) (等价于VB中的控件) 到表单。应用程序表单是应用程序中所有其它表单的父级;所有放在这个表单的物件出将在子表单中显示。对于这个应用程序, 我放了一个Google 的图像标志在左上角。

  5. 选择“frmSearch”表单. 在组件面板(Components panel), 拖一个Label, button, TextInput, 和TextArea 组件到舞台. 排列这些组件如下图所示3. (右击并选择“Free Transform”缩放组件)

  6. 使用属性检查器(Property inspector),给下列组件命名:Label:lblSearchTime; Button:btnSearch; TextInput:txtQuery; TextArea:txtResults.

重复第四步为 results.searchTime 输入参数, 绑定它到“frmSearch”表单的“lblSearchTime”组件实例。组件系统允许你在绑定之前去格式化这个输入或输出,既然“searchTime”参数正好是一个浮点数,那么我们可以去格式化这个值以便让用户更容易理解。从“Formatter”弹出菜单,选择“Compose String”,然后单击“Formatter”选项,然后在对话框中输入下列字符串:Search time:<.> seconds(如图)

当组件被绑定的时候这个参数值将被<.>占位符替换。

  注意:Flash安全沙箱设置:如果Flash应用程序不通过一个代理类在网站上运行,那么当前是不允许去直接访问一个远程WEB服务的。然而,如果你的计算机安装了Flash 或 Flash Professional这可以在你的计算机上工作,这是因为你有Flash Player 的开发者版本。这个例子如果没有服务端代理的话将不工作。

  附加脚本动作

  新的行为(behaviors)使控制描述UI组件事件比以往版本更容易。

  在这儿我们将用一个行为去触发web 服务并且显示结果:

  1. 在frmSearch上单击“btnSearch”按纽,在“行为面板”,单击“+”图标并选择 Data > Trigger Data Source。在结果对话框,选择“GoogleSearch” WebServiceConnector并单击OK按纽 (如图)。


  2. 当“btnSearch”处于选中状态,打开“动作面板”(Actions panel)。你将看到Flash自动增加当用户单击“Search”按纽时去触发web 服务的代码。
  3. 所有web服务如果不能在组件检查器中绑定,你需要用代码管理。在触发事件之前,增加下列代码,事件监听者允许你去拦截web 服务发送和结果事件且可以用ActionScript去完成附加的操作。
on (click) {
  // 触发数据源行为
  // Macromedia 2003
  this._parent.GoogleSearch.addEventListener("send", onGoogleSearch);
  this._parent.GoogleSearch.addEventListener("result", onGoogleSearchResult);
  this._parent.GoogleSearch.trigger();
}


  4. 增加处理这些事件的ActionScript函数,下面的代码做一些界面操作例如当搜索在进行时允许和禁止组件,更重要的是他能重述Google的返回结果,你可用HTML格式化它们,并显示他们在“txtResults”“TextArea”实例。
 on (click) {
 var onGoogleSearch = function()
 {
  // 当不搜索的时候显示进度棒图
   _root.application.frmSearch.frmLoading.visible = true;
   this._parent.txtResults.text = "";
   this._parent.lblSearchTime.text = "";
   this.enabled = false;
   this._parent.txtQuery.enabled = false;
 }
 var onGoogleSearchResult = function()
   {       
     var res = this._parent.GoogleSearch.results.resultElements; // shorthand
     for (var i = 0; i < res.length; i++)
      {
        var s = "";
        s += "<a href=\"" + res[i].URL + "\"><font size=\"+1\" color=\"#0000FF\"><u>"
              + res[i].title + "</u></font>>lt;/a>";
              s += res[i].snippet + "";
              if (res[i].summary != "") { s += "<font color=\"#999999\">Description:</font>"
              + res[i].summary + "";
       }
       s += "<a href=\"" + res[i].URL + "\"><font
       color=\"#009900\"><u>" + res[i].URL + "</u></font></a>
       - " + res[i].cachedSize;
       s += "";
       this._parent.txtResults.text += s;
     }
     // 当再次搜索时隐藏进度棒
     _root.application.frmSearch.frmLoading.visible = false;
     this.enabled = true;
     this._parent.txtQuery.enabled = true;
 }
 // 触发数据源行为
 // Macromedia 2003
 this._parent.GoogleSearch.addEventListener("send", onGoogleSearch);
 this._parent.GoogleSearch.addEventListener("result", onGoogleSearchResult);
 this._parent.GoogleSearch.trigger();
}


  现在准备去发布你的应用程序.选择File > Publish或者按Control-Enter 去用默认的设置发布。



 

 

在线留言 常见问题 SEO 研究 排名优化 百度推广 谷歌推广 动态文字 功能模块 网页背景 背景音乐 企业做站 网站建设 行业网站 手机网站 企业邮箱  域名专卖 空间专卖 模板仓库 视频网站 动画网站 企业建站 网站制作 门户网站 英文网站 联系我们
电话:027-88393302 88393465 传真:88393465 公司地址:武汉市武昌阅马场景观楼1012室  24小时客服务热线:15827318650、15807162837
Copyright 2003-2010 okzyy.com All Rights Reserved 武汉中意源科技有限公司 版权所有
鄂ICP备06018148号 [] 1036762796 1021305409 442689545 498337528 网站开发 网站设计 透明动画