当前位置:七道奇文章资讯设计学堂Flash设计
日期:2009-04-03 23:41:00  来源:本站整理

<b>用Flash制作Google搜索程序</b>[Flash设计]

赞助商链接



  本文“<b>用Flash制作Google搜索程序</b>[Flash设计]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在我们构造Google 搜索程序之前我们还需求Google Web APIs Developer's Kit,你可以从http://www.谷歌.com/apis/download.html下截直接解紧缩便可以了.里面已经含了所需求的文件和已经编译好的文件,官方地址是http://www.谷歌.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.

  成立动画

  在这里我们将增添一个简单的动画元素到程序.为了这个目的,增添一个 "loading" 元素,让用户知道搜索正在举行:

  1. 挑选“frmLoading”表单屏幕.

  2. 在右下角, 为用户增添一个指导载入进程的图象大概文本元素 (如图). 我制作了一个片子夹子(movie clip)在里面增添了一个进度条. 你可以增添一些文字(比方"Loading...").然后挑选 Modify > Timeline Effects 去成立一个动画而根本没有任何创作.

  3. 在属性查抄器中挑选“frmLoading”然后改变可视化属性为false去躲藏“frmLoading” .这个避免载入部件的默许为显示的.今后当履行搜索的时刻我们可以通过ActionScript去使它显示出来.

  用组件衔接一个数据源

  Flash MX Professional 有一个新的组件构造, 包含UI 组件和新的数据组件. 在Flash中, 组件不像DLLs是编译代码库. 更切当的说,他们是相当于VB 或 Delphi中控件. Flash Professional 增添了XMLConnector 和WebServiceConnector 组件,用这两个告诉数据源去自动完成界面.

  新的组件绑定答应你为数据组件去定义输入和输出. 用IDE构建的可视化计划面板, 你可以在你的表单中直接衔接XMLConnector 大概 WebServiceConnector 参数到UI 组件. 你可以利用Flash组件指导器(近似于VB中的属性页)的参数选项卡.

  下面我们用这些技术衔接你的利用程序到Google 搜索服务:

  1. 从组件面板拖一个“WebServiceConnector”组件到“frmSearch”表单屏幕.这个组件在公布成利用程序后是不可见的,给这个组件一个实例名为 GoogleSearch.

  2. 挑选“GoogleSearch”组件并翻开组件查抄器(Component inspector).这是你设置所成立网络服务的地方.挑选“参数选项卡”并设置“WSDLURL”为Google's 的WSDLURL地址(在本例中应这样写http://api.谷歌.com/GoogleSearch.wsdl).Flash 会自动恳求这个服务并得到它有效的操作.从“operations”弹出菜单, 挑选“doGoogleSearch” (如图).

  3. 在组件查抄器中挑选“绑定”(Bindings)选项卡.这个面板答应你绑定WEB服务的输入和输出直接到利用程序的一个UI组件.单击“+” 图标去挑选你要绑定的参数.输入参数是用右箭头表标示,输出参数是用一个左箭头来标示 (如图).Google界面需求全部的输入参数,因此一个一个的把它们增添到绑定列表,因为我们也需求绑定一个输出参数, 所也增添输出参数到列表.

  4. 关于列表中的每一个绑定,你需求设置一个UI 组件, 一个变量参考, 大概一个文字变量去传给或从web 服务返回.首先从绑定列表中挑选“params.q”—传给Google服务的搜索恳求字串,然后把它绑定到“frmSearch”表单中的“TextInput”组件, 单击“Bound To”行上的"find" 图标.Flash翻开“Bound To”对话框,那边显示了你利用程序的一个等级列表,查找“txtQuery”组件实例,挑选它,然后单击OK按纽 (如图).

5. 为 Google服务填写别的的输入参数.其他参数能带文字输入.去定义一个文本输入,除了在“Bound To”对话框核选用户常量和在呼应的文本框中输入的文字外,别的按照第 4 步一样操作.以下清单显示了每个输入参数的值.

params.key [你的Google Web API 的产品密钥]
params.start 0
params.maxResults 10
params.filter true
params.restrict [empty string]
params.safeSearch true
params.lr [empty string]
params.ie [empty string]
params.oe [empty string]

  反复第四步为 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 去用默许的设置公布.

  目前去试你的Google搜索吧!


  以上是“<b>用Flash制作Google搜索程序</b>[Flash设计]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .