占位图像 用户ID: 密码: 验证码: 登录 注册     占位图像
 
教育168搜索

a
频道信息
学前教育 基础教育
小学 初中
高中 高等教育
心理学 机械工程
园林 IT教育
办公软件 Director
Authorware 图形图象
FIREWORKS CORELDRAW
Maya PhotoShop
AutoCAD 3D
操作系统 Windows xp
Windows Vista Linux
Windows 2003 Windows 2000
FreeBSD 注册表
网站制作 FLASH
Dreamweaver CSS教程
装修设计 LightScape
装修风水 方案设计
英语 商务外语
素质教育 法制教育
企业培训
最新更新
·Flash最常用AS语法及语
·在线设计制作Flash动画小
·用Flash制作不停转动的地
·Flash动态柱状图表制作原
·Flash与JavaScri
·在Flash MX2004中
·养成Flash Action
·Flash 8制作烟花粒子的
·Flash文件的破解与加密方
·透明的flash是这样制作出
·Flash文件的加密与破解技
·关于 JavaScript
·Flash也能玩鼠绘—清新国
·xml辅助flash电子地图
·网页中插入透明Flash的方
·Flash导航菜单轻松制作好
·Flash绘精致矢量图—逼真
·Flash入门应该了解的重要

点击排行
·Flash最常用AS语法及语
·用Flash制作不停转动的地
·在线设计制作Flash动画小
·Flash与JavaScri
·Flash动态柱状图表制作原
·透明的flash是这样制作出
·Flash 8制作烟花粒子的
·Flash也能玩鼠绘—清新国
·把按钮藏起来 谈制作Flas
·Flash电子书鼠标拖拽翻页
·Flash入门应该了解的重要
·xml辅助flash电子地图
·Flash文件的破解与加密方
·网页中插入透明Flash的方
·丰富多彩 有声有色的Flas
·Flash 遮罩效果解析
·学习Flash Action
·Flash文件的加密与破解技

xml辅助flash电子地图标注地名
发布日期:2007-4-11 13:48:05  浏览:488次
关键字:

  对于制作数据量较大的大型城市地图,直接在flash环境中手动创建地名标注内容不仅工作量巨大,而且维护更新非常不便,这样就必须借助外部数据文件来辅助完成其中的地名标注工作。当然,调用数据文件的方法很多,我们这里介绍一种较为简单的,即在flash中调用外部xml数据文件。
  既然涉及xml文件,就有必要对xml有一个初步的了解。

  一、初识xml

  1、什么是xml?

  xml 是英文extensible markup language的缩写,中文意为可扩展的标记语言。xml是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。

  2、xml文件式样

  以下为一个xml文件结构,有些类似html语言:

<?xml version="1.0" encoding="utf-8" ?>
<countrydata>
<state id="range">
<data>0 - 33</data>
<color>fed976</color>
</state>
<state id="range">
<data>34 - 66</data>
<color>feb24c</color>
</state>
<state id="range">
<data>67 - 99</data>
<color>fd8d3c</color>
</state>
</countrydata>

  二、flash调用xml文件的方法

  flash中的actionscript2.0关于调用xml的全局函数与方法属性较多,以下只介绍本例中涉及的内容:
  1、建立xml对象:
  var myxml = new xml();

  2、引用xml文件:
  myxml.load("data.xml");

  3、忽略空格:
  myxml.ignorewhite = true;/默认的为false

  4、处理xml对象的load(xml.load 方法)
  public load(url:string) : boolean

  从指定的 url 中加载 xml 文档,并使用下载的 xml 数据替换指定 xml 对象的内容。该 url 是相对 url,并使用 http 进行调用。加载过程是异步的;它不会在执行 load() 方法后立即结束。

  执行 load() 方法时,xml 对象的 loaded 属性被设置为 false。在 xml 数据下载完毕后,loaded 属性被设置为 true,并调用 onload 事件处理函数。直到 xml 数据完全下载后,才开始分析。如果该 xml 对象以前包含任何 xml 树,它们将被放弃。

  您可以定义一个在调用 xml 对象的 onload 事件处理函数时执行的自定义函数。

  5、处理xml对象的onload(xml.onload 处理函数)
  onload = function(success:boolean) {}

  收到来自服务器的 xml 文档时由 flash player 调用。如果成功接收了 xml 文档,则 success 参数为 true。如果未收到该文档,或从服务器接收响应时出现错误,则 success 参数为 false。默认情况下,此方法的实现不处于活动状态。若要覆盖默认实现,必须指定一个包含自定义动作的函数。

  三、实例制作

  在初步了解了以上xml的基础后,我们就可以紧接上一例的步骤完成地名标注工作:

  1、创建用于地名标注的xml文件:
首先我们要创建一个包含关于需要标注的地名信息文件,即包含地名称、地名坐标等基本信息。本例中我们只创建一个示范性的地名信息数据文件,其格式为xml文件格式,内容如下:

<?xml version="1.0" encoding="iso-8859-1" ?>
<map>
<r><n>大清湖</n><x>37</x><y>264</y></r>
<r><n>环</n><x>154</x><y>67</y></r>
<r><n>城</n><x>164</x><y>67</y></r>
<r><n>西</n><x>175</x><y>69</y></r>
<r><n>路</n><x>184</x><y>72</y></r>
<r><n>环</n><x>289</x><y>101</y></r>
<r><n>城</n><x>297</x><y>107</y></r>
<r><n>东</n><x>309</x><y>114</y></r>
<r><n>路</n><x>321</x><y>117</y></r>
<r><n>中</n><x>231</x><y>95</y></r>
<r><n>心</n><x>232</x><y>114</y></r>
<r><n>南</n><x>233</x><y>135</y></r>
<r><n>路</n><x>234</x><y>158</y></r>
<r><n>中</n><x>229</x><y>18</y></r>
<r><n>心</n><x>233</x><y>34</y></r>
<r><n>北</n><x>235</x><y>47</y></r>
<r><n>路</n><x>234</x><y>58</y></r>
<r><n>★某某市政府</n><x>239</x><y>88</y></r>
<r><n>●城中影剧院</n><x>271</x><y>84</y></r>
<r><n>●新华书店</n><x>171</x><y>60</y></r>
<r><n>城</n><x>92</x><y>87</y></r>
<r><n>环</n><x>104</x><y>98</y></r>
<r><n>一</n><x>121</x><y>110</y></r>
<r><n>路</n><x>134</x><y>124</y></r>
<r><n>大清湖旅游区</n><x>36</x><y>223</y></r>
<r><n>▲百丈峰</n><x>124</x><y>30</y></r>
<r><n>◎东城新村</n><x>340</x><y>158</y></r>
<r><n>◎南城新村</n><x>287</x><y>189</y></r>
<r><n>※新颀花园</n><x>292</x><y>70</y></r>
<r><n>人民公园</n><x>144</x><y>42</y></r>
<r><n>动物园</n><x>140</x><y>105</y></r>
<r><n>东城广场</n><x>342</x><y>73</y></r>
<r><n>※百天花园</n><x>92</x><y>55</y></r>
<r><n>※花峰小区</n><x>346</x><y>189</y></r>
<r><n>◎高名新村</n><x>375</x><y>146</y></r>
<r><n>※风台花苑</n><x>210</x><y>185</y></r>
<r><n>▌城中大厦</n><x>219</x><y>111</y></r>
<r><n>▌佳好大楼</n><x>185</x><y>109</y></r>
<r><n>▌天启工业大厦</n><x>122</x><y>63</y></r>
<r><n>▌晨光商贸大厦</n><x>265</x><y>62</y></r>
<r><n>▌华侨电子大厦</n><x>209</x><y>84</y></r>
<r><n>▌佳好商城</n><x>196</x><y>49</y></r>
</map>

   注:其中与项为地名名称;122与63项为地名标注的x轴与y轴坐标,至于其坐标值的得来将在以后的实例中详细讲解。

  2、flash调用的代码

   打开flash professional,在上一讲中的地图底图所在层的时间轴上,再补入以下actionscript代码:

var road_xml:xml = new xml(); /建立xml对象
road_xml.ignorewhite = true; /忽略空格:
road_xml.onload = function (success:boolean):void {
if (success) { /如果调用成功
var childitems:array = road_xml.firstchild.childnodes; /定义数据组
var f=0; /定义mc深度的变量
for (var i:number = 0; i var x=childitems[i].childnodes[1].childnodes[0].nodevalue /获取x坐标值
var y=childitems[i].childnodes[2].childnodes[0].nodevalue /获取y坐标值
_root.map_mc.bzmap_mc.createtextfield("road"+i, f, x, y, 1, 1); /创建地名文本
p=eval("road"+i); /将文本框变量的名称赋给p
p.autosize = "left"; /指定文本的对齐方式
p.text = childitems[i].childnodes[0].childnodes[0].nodevalue ; /获取地名名称
f=f+1; /mc深度自动加1
}
}
}

  road_xml.load("road.xml"); /调用xml文件:

  注:其中xml文件的路径使用了相对路径,此路径是xml文件相对于调用flash文件的网页文件的路径,即在本例中,调用flash地图文件的网页文件必须与road.xml文件置于相同的路径下,否则flash将无法调用xml文件。

  这样,flash文件只提供电子地图的基本构架,由外部的road.xml文件提供地名标注信息,如对地名进行删减、增加、纠错等操作时,只需要对xml文件进行相应的更改就可以了,而flash文件不需要做任何的改动。这样就大大减小了维护、更新的工作量。

  以上就是flash调用外部xml文件的基本步骤;当然我们在本例中调用是已经编辑好的xml数据文件,而获取海量地名在地图上的坐标值也同样可以在flash环境中获得。

关键字:

相关信息 用户评论
·Flash最常用AS语法及语句总结
·在线设计制作Flash动画小电影
·用Flash制作不停转动的地球仪
·Flash动态柱状图表制作原理剖析
·Flash与JavaScript信息交互
·在Flash MX2004中用img标签添加音乐
·养成Flash ActionScript代码编写好习惯
·Flash 8制作烟花粒子的特效代码
·Flash文件的破解与加密方法探秘
·透明的flash是这样制作出来的
·Flash文件的加密与破解技术详细解析
·关于 JavaScript 和 Flash 间的通信
·Flash也能玩鼠绘—清新国画荷花
·Flash绘中秋贺卡:快乐月饼大游行
·学习Flash ActionScript编程的注意事项
·Flash导航菜单轻松制作好帮手
·Flash绘精致矢量图—逼真土豆
·Flash入门应该了解的重要概念

 

更多评论

验证码:
验证码