资源描述
目录1 Flash概述21.1 Flash发展史21.1.1 总体走向21.1.2 版本演变21.1.3 可能发展方向31.2 用Flash开发地图的优点42 Flash地图总体结构、功能及开发环境42.1 总体结构42.2 功能42.3 开发环境53 制作Flash地图的主要步棸53.1 准备基础元件53.2 拼制全国地图73.3 实现单击事件83.4 详细地图114 制作Flash地图的主要技巧125 Flash地图测试描述136 结论156.1 结论156.2 不足和改进15致谢16参考文献1616摘要:本文主要研究了中国Flash地图的设计与开发,研究该课题的主要目的是便于查看中国各地地图,用户通过该地图了解全国省份、道路分布情况,学习地理知识,实现可视化教学,提高中小学生学习地理知识的兴趣。地图主要用Flash CS3技术来实现,通过和ActionScript搭配使用来实现一些功能。关键字:Flash 中国地图 ActionScript 帧跳转1 Flash概述1.1 Flash发展史1.1.1 总体走向FLASH的前身叫做FutureSplash,当时FutureSplash最大的两个用户是Microsoft和Disney【1】。1996年11月,FutureSplash正式卖给MM(M),改名为FLASH1.0 (网上也有信息称是Flash2.0)。1.1.2 版本演变1998年5月31日 Macromedia 推出了Flash3.0 。1999年6月15日 Macromedia 推出了Flash4.0 。自 Flash 进入4.0 版以后,原本的 Shockwave 播放器便变成了仅供 Director 使用。Flash 4.0开始有了自己专用的播放器,称为“Flash Player”,不过为了保持向下相容性,Flash 制作出的动画则仍旧沿用了原有的 .SWF文件名(Shockwave Flash)。2000年6月24日 Macromedia 推出了Flash5.0 (支持的播放器为 Flash Player 5)Flash 5.0中的ActionScript已有了长足的进步,并且开始了对XML和Smart Clip(智能影片剪辑)的支持。ActionScript的语法已经开始定位为发展成一种完整的面向对象的语言,并且遵循ECMAScript的标准(就像JavaScript那样)。2002年3月15日 Macromedia 推出了Flash MX (也就是测试版中的6.0,后来为了配合MX产品线,正式命名为MX,支持的播放器为 Flash Player 6)。falsh6开始了对外部jpg和MP3的调入支持。同时也增加了更多的内建对象( 如直接的绘画控制)。提供了对HTML文本的更精确控制。SetInterval 超频帧的概念。同时也改进了swf文件的压缩技术。2003年8月25日 Macromedia 推出了Flash MX 2004(支持用 Flash MX 2004创建的SWF的播放器的版本被命名为 Flash Player 7)。Flash MX 2004增加了许多新的功能【2】:对移动设备和手机、Pocket PC的支持(以及像素字体的清晰显示);Flash Player 运行时性能提高了 2 至 5 倍;对HTML文本中内嵌图像和swf(swf中的独立swf)的支持;FLV外部视频的支持(与QuickTime的集成);对Adobe PDF及其它文档的支持;基于屏幕的可视开发环境;可视编程环境;高级可控制外观组件支持;数据绑定;Web 服务和 XML 的预建数据连接器;项目管理功能;源代码控制系统,同时开始了对Flash本身制作软件的控制和插件开放JSFL(Macromedia Flash JavaScript API),Macromedia无疑在开始调动Internet上Flasher们的巨大力量和集体智慧。1.1.3 可能发展方向flash被称为是“最为灵活的前台”。由于其独特和时间片段分割(TimeLine)和重组(MC嵌套)技术,结合ActionScitp的对象和流程控制。使得在灵活的界面设计和动画设计中成为可能,但一直还未形成一套在flash中的界面设计理论。同时它也是最为小巧的前台。 flash具有跨平台的特性(这点和Java一样),所以无论你处于处于何种平台,只要你安装有支持的flash Player。你就能保证它们的最终显示效果都一致。而不必像在以前的网页设计中那样为IE和Mozilla或NetSpace各设计一个版本。同Java一样。它的可移植性很强。特别是在小型网络中和小型设备中(当然大型网络已不用说),最近具有的手机支持功能可以让你为自已的手机设计你喜爱的功能。当然你必需要有技持flash的手机。当然它还可以应用于Pocket PC上。那么,flash可能的发展方向究竟如何?我不能说这些方向中的所有都会实现,因为这也取决于Macromedia的决心,而更多的是flasher们的努力。(1) 应用程序:由于其独特的跨平台物性和在界面控制以及多媒体的功能使用得使用flash来制作的应用程序具有很强的生命力。在与用户的交流方面具有其它任何方式都无可比拟的优势。当然,某些功能你可能还要依赖于XML或者其它诸如JavaScript的客户端技术来实现,但你能方便在它们的实现数据通信。(2) 操作系统界面:Flash对于界面元素的可控性和它所有表达的效果无疑具有很大的诱惑。对于一个系统的界面你可能要花更多的时间关注它们的接口和界面显示能力间的驱动。另外一个需要关注的就是你的内存使用和执行效率。(3) 手机领域的开发:转向手机领域的开发将会要求你对精确(像素级)的界面设计和CPU的使用分布的操控能力更高。但也意味更大更广泛的使用空间。事实上手机和Pocket PC的分界已越来越不明显,你必须为每一款手机(或Pocket PC)设计一个不同的界面,因为它们的屏幕大小各有不同。当然你的内核可能是相同的,所要注意的是你的各类手机的CPU的计算能力和内存的大小。这无疑是些很苛刻的要求。(4) 游戏开发:事实上,Flash中的游戏开发已经进行了多年的尝试。但至今为止仍然停留在中、小型游戏的开发上。游戏开发的很大一部份都受限于它的CPU能力和大量代码的管理。不过可喜的是,Flash Player 7 运行时性能提高了 2 至 5 倍;而且基于 Java 类的结构的类的开始也奠定了这些基础。(5) 多媒体娱乐:在这方面的内容我想我已不用再多说什么。尽管它的发展速度没有像当初预言的那样迅速(就像计算机那样),但它仍然还在不断前进,全新功能也正在扩大它的应用范围。使用这一点无疑很优秀,并且可以为你节约大量的成本。Flash本身就以多媒体和可交互性而广为推崇。1.2 用Flash开发地图的优点Java与Flash相比具有明显的优势,是电子地图技术的主流方向。不过使用Java地图的客户端必须安装Java虚拟机,对于没有安装相关插件的电脑用户来说,并不能立即使用Java电子地图。但对于非专业的爱好者来说,Flash比Java更轻易把握一些。非凡对于绘制楼盘、小区或是小城市的地图,并没有太多太强的功能要求,使用Flash制作已经足够了。对于Flash电子地图来说,几乎所有的个人电脑都安装了Flash Player插件,只要打开浏览器即可正常使用。因此对于非专业的爱好者来说,无论使用或是学习制作Flash电子地图更为现实一些。只要把握了一定Flash ActionScript的基础知识,都可以通过学习制作出自己满足的互动电子地图。2 Flash地图总体结构、功能及开发环境2.1 总体结构包含一主要的场景,每一个省份都是一个按钮,默认情况下显示蓝色,当鼠标经过时变成橙色,鼠标单击时弹出对话框提示内容,当鼠标移动时对话框自动隐藏。单击黑龙江省时会直接跳转到黑龙江省的各地级市、各高速公路、国道、河流的分布情况,当单击缩放按钮时有放大缩小功能,单击返回按钮可以返回到主页。2.2 功能具有查看全国各省之间位置相对关系,各省主要情况,以及黑龙江省的详细地图。2.3 开发环境开发环境:Flash CS3;运行环境:Flash player9.0。3 制作Flash地图的主要步棸3.1 准备基础元件新建Flash文件,把舞台大小设置成800*850像素,用Photoshop画出一个背景图像,然后导入到Flash库中,并把其转换成元件,并拖入舞台。如下图:图 3-1-1 Flash地图的背景图像从网上下载一幅中国地图,并把其导入到Flash库中,然后新建元件,起名叫“中国全图”,把此位图拖入到元件中,然后用钢笔工具勾勒出全国的国界,并把其填充成深蓝色。效果如下图:图 3-1-2 勾勒出的中国全图用同样的方法画出各省的省图,并填充上颜色,其中一省的省图:图 3-1-3 安徽省省图3.2 拼制全国地图把3.1中制作的各省省图分别制作成按钮,当按钮弹起的时候颜色为蓝色,指针经过、按下、点击的时候颜色一率为橙红色。效果如下图所示: 图 3-2-1 按钮弹起、指针经过时示意图把做好的按钮统一的移到3.1中勾勒的中国全图上面,并用适当的字体写出各省的名称,调整好他们的相对位置,效果如下图:图 3-2-2 拼凑好的中国全图3.3 实现单击事件用Photoshop画出弹出对话框【3】,并把其导入到Flash库中,然后添加方格,并转换成影片剪辑,效果如下图:图 3-3-1 弹出对话框新建影片剪辑,用直线工具画出下拉条,并线性填充颜色为白色、透明度为15%,颜色为白色、透明度为30%。效果如下图:图 3-3-2 渐变下拉条把做成的对话框和渐变下拉条分别拖入到舞台,调整其和各省的相对位置,并在对话框中写入相应的内容,重复以上操作,为各省都做一个下拉对话框。下图给出其中一省的效果:图 3-3-3 下拉对话框将上述场景中的按钮按照省名全称起名,下拉条按照省名全称+1起名,对话框按照省名全称+2起名,文字按照省名全称+3起名。然后在相应的帧中写上如下所示的代码【4】(以安徽省为例):anhui1.visible=false;anhui2.visible=false;anhui3.visible=false;function anhuistart(event:MouseEvent):voidanhui1.visible=true;anhui2.visible=true;anhui3.visible=true;anhui.addEventListener(MouseEvent.CLICK,anhuistart);function anhuiend(event:MouseEvent):voidanhui1.visible=false;anhui2.visible=false;anhui3.visible=false;anhui.addEventListener(MouseEvent.MOUSE_MOVE,anhuiend);以上就完成了单击事件的功能。3.4 详细地图从网络上找到一幅黑龙江省地图导入到库中,然后用钢笔工具勾勒出省界、国道、高速、河流以及各地级市之间的相对位置,并添加放缩和返回按钮。以上放到场景的第二帧。为实现第一帧和第二帧之间实现跳转在第一帧中写入代码【5】:stop();function gotoMovie(event:MouseEvent):voidgotoAndPlay(2);heilongjiang.addEventListener(MouseEvent.CLICK,gotoMovie);在缩放按钮中写入代码:stop();function EndMovie1(event:MouseEvent):voidthis.play();a.addEventListener(MouseEvent.CLICK,EndMovie1);在返回首页按钮中写入代码:stop();function gotoMovie2(event:MouseEvent):voidgotoAndPlay(1);g.addEventListener(MouseEvent.CLICK,gotoMovie2);效果如下图:图 3-4-1 黑龙江省详细地图4 制作Flash地图的主要技巧通过做这次地图我从中总结了几条技巧供大家参考:(1) 在画全国地图和各省地图时应导入一张位图,然后用钢笔工具勾勒出线条,等勾勒完成之后再把位图删除掉即可。(2) 按钮可以是规则的,同样也可以是任意形状,也可以是图片,所以当遇到点击、掠过、按下鼠标时按钮是一条捷径。(3) 当在舞台上有好多对话框要调整位置的时候,应该一个一个的调整,然后再隐藏相应的图层,以免相互覆盖。(4) 在写繁琐的ActionScript时应尽量构造一个函数,这样会使操作简单。5 Flash地图测试描述当鼠标掠每个省份时,颜色会变【6】,效果如下:图 5-1-1 鼠标掠过效果当单击每个省份时都会弹出一个提示框,效果如下图:图 5-1-2 鼠标单击效果当单击黑龙江省份时帧会自动跳转到第二帧,并且显示黑龙江省详细地图,当单击“缩放”按钮时地图会放大缩小,单击“返回首页”按钮时地图会自动跳转到图5-1-1,效果如下图所示:图 5-1-3 黑龙江省详细地图6 结论6.1 结论通过本次毕业设计使我懂得了要想做一个合格的作品不是单纯想象的那么简单,也不是随便的从网络上下载一个敷衍了事,只有通过真正的做了一遍才能使原本杂乱无章、支离破碎的知识有了一个很好的融会贯通,并初步形成了一个知识体系,对按钮、ActionScript、图层、钢笔工具有了进一步的认识,这次Flash地图设计要处理的元件、影片剪辑、按钮、图层众多,它培养了我们处理众多元件、理清众多图层之间的先后关系的能力,同时也在无形中培养了我们的处理复杂问题、分清轻重缓急的能力。虽然有时候感觉整天坐在那里画图形是一个很无聊的工作,但是当一种心里想的东西用线条勾勒出来那种成功的喜悦是其他事情无所替代的,有时候遇到不会的问题、陌生的功能的时候,我会主动的去网上、图书馆查阅相关的资料,或者恳请老师答疑,在这期间多多少少的培养了我的自学能力和遇到困难时那种主动解决困难的态度,有句话说得好“细节决定成败,态度决定命运”,然而我们平时对细节、态度观的形成就是通过好多好多的小事情来实现的,所以我很珍惜这次毕业设计的机会,虽然时间不是很长,但是它在微观上让我明白了想画好一个让客户满意的Flash,我们必须要有耐心、必须要有“不破楼兰终不还”的豪情壮志!以前有人说解放战争是胜在后勤上、打的是后勤,我想在现代在这个浮躁的社会,成功往往都是以耐心为基石的、比的是耐心!在宏观上来讲我们想做好一件事情必须在内心上要重视它,要付出100%的努力,不能把每件事情都当做自己的负担,我们要把每一件事情都看作是对自己的一个挑战,在人生路上是对自己的一个磨练!6.2 不足和改进由于本次毕业论文时间仓促加上编者水平有限,所以致使页面不是很美观,对用户没有太大的吸引力,有些功能例如搜索、测距、定位功能没有实现,在今后的日子里我会继续往这方面努力,完善这方面的功能,恳请老师批评并提出宝贵的意见。致谢这次毕业设计中有很多功能对于我来说非常陌生,甚至有的功能以前从来没有见过,但是张国华老师利用课余时间对其中一些功能进行了一些指点,我才能将此地图继续的制作下去。参考文献【1】美Ethan Watrall、Norbert Herber; Flash MX 教程与实例精选;电子工业出版社,2003.【2】 胡明 丁翠红 王文;Flash CS3多媒体专项设计;电子工业出版社,2008.【3】曹培强 吴春燕 孙焱;Photoshop CS2平面设计实战从入门到精通;人民邮电出版社,2007.【4】郑伯鸿;Flash Action Script语法参考词典;中国铁道出版社,2002.【5】郑伯鸿;Flash Action Script语法参考词典;中国铁道出版社,2002.【6】王诚君;网页设计三合一教程;清华大学出版社,2006.
展开阅读全文