怎么样用flash在有限的页面内制造大的地图?

更新时间:15-10-24 12:41 热度:366
 

  多个朋友因办公或喜好的需求,问询怎么样用flash在有限的页面内制造大的地图,并链接、显露相关地点的信息,为此将我自个儿做的一个记录旅游地点的flash地图略作精简、改正,做了这个flash,并将关键局部作法绍介如下所述(原有的那一个涵盖显露信息中的书契和认为合适而使用的旅游照片儿,将近10 m,太大了,没有办法上传)。

  作品见下方(良久没发帖了,不知该怎么发swf文件了,把考屏图放下边便捷理解)

15102412412064022313264 怎么样用flash在有限的页面内制造大的地图?

  独特的地方:

  由大变小地图以适合页面体积的限制,用放大镜来放大由大变小了的地图,使能清楚的看见需求的细节。运用as匡正平常的遮罩制造放大镜错位较大的欠缺,放大多在镜片儿的核心(红十字处)没有错位。用鼠标通过、离去按键的as来扼制显露相关需求的信息(作品中鼠标在放大镜的核心红十字处)。

  由于地图窗户体积同选的地图长宽要成比例,假如页面合宜,也可以让信息同时在地图窗户的右面或下边显露,我自个儿做的记录旅游地点的地图,书契信息是在右面显露,用组件加骨碌条;照片儿用mc元件,位置在地图窗户内,循环播放,这么显露的信息量可以很大。图一(信息显露另一作法)

15102412412128157498152 怎么样用flash在有限的页面内制造大的地图? 

  本作品仅作为表示意思

  1、各地的朋友务必不要在地理问题上拍砖哦。

  2、一点距离太近的城市偷懒没设定信息显露链接(解决方法是由大变小按键的反响平面或物体表面的大小)。

  3、为易于上传,地图只放大了1倍,图片的质量也选定得很低。

  4、一样,表示意思中只有北京同时认为合适而使用显露1张图片。

  作法简介:

  1、各图层拷屏如图2,为了容易看清作法,图层分得细了些。

  戏台(或地图窗户)体积同选的地图长宽要成比例(易于满戏台显露未变型),我用的戏台是400*330,地图是800*660(这2个尺寸在下边帧动作中要用),只放大1倍。放大倍数可自个儿确认,只需在步骤7的帧动作as中改动相应数值即可。

  友谊提醒:假如地图窗户小于戏台,地图窗户的坐标应当是(0,0)。图二:

1510241241215939458574 怎么样用flash在有限的页面内制造大的地图?

  2、新建电影剪接元件(即mc)“地图元件”,把选定的地图图片导入,图片的x、y坐标都是0,即左上角对着元件界面的 + 处。简单方法是选中图片,敞开属性面板,把x、y 都改为0,而后用enter键确认。

  3、把做好的mc拖入场景“小图”图层中,现场景的属性中设定mc坐标为(0,0),宽、高数字同戏台完全一样,而后用enter键确认。

  4、把做好的mc再拖入场景“大图”图层中,mc现场景中的坐标也设定为(0,0),选中“大图”图层中的mc,在属性中起名称为aa,

  5、做放大镜

  新建mc元件“放大镜元件”,画圆,圆的左右上下均务必当中。用剪切、粘附到现时位置的方法,把圆的色块和边框作别放在2个图层中。把镜片儿图层中的颜色块改换为mc元件“镜片儿元件”。在“放大镜元件”入选中镜片儿mc,在属性中起名称为ee。颜色块是做遮罩用的,在swf文件入眼不到它,只是在有颜色的局部能看见被遮藏的“大图”图层中的银幕,所以颜色恣意。镜框儿在swf文件中是看获得的,颜色、样式自定。再增加1个图层放十字线,同镜框儿同样在swf文件中是看获得的。用“极细”线。

  友谊提醒:假如办公中需求缩尺,也可通过计算,把十字线设定为缩尺,计算法如下所述:

  每格示明的距离=每格对应的地图上两点间实际距离*每格像素/地图上该距离的像素。

  实际操作,可以标定在地图上已知距离的水准(或竖直)的两点之间的像素值,计算出1个像素在地图上是若干千米,再确认镜片儿上每格几个像素,测定缩尺。

  6、把“放大镜元件”mc拖入场景放大镜图层。选中放大镜mc,起名称为ff。

  7、as

  回溯一下子,上头已经作别为3个mc起名称了,起名称应当同下边as中完全一样,不可以搞错。

  场景中大地图mc起名称为aa,

  场景中放大镜mc,起名称为ff。

  放大镜元件中放大镜镜片儿mc,起名称为ee,

  在as图层选中帧,写如下所述帧动作

  _root.onenterframe = function() {

  mouse.hide();//掩饰鼠标

  startdrag("_root.ff", true);// 扼制望远镜ff随鼠标移动

  _root.aa.setmask(_root.ff.ee) //用ff中的ee遮藏aa

  _root.aa._x=_root._xmouse*(1-80/40);//用鼠标坐标扼制大银幕x坐标尾随

  _root.aa._y=_root._ymouse*(1-66/33);//用鼠标坐标扼制大银幕y坐标尾随

  } 由于放大镜中有看得见与看不见的两种图形,所以用as脚本代码扼制遮罩,

  _root.aa.setmask(_root.ff.ee)

  即用ff中的ee遮藏aa——括号内的是遮藏mc,前面的是被遮藏mc。

  用鼠标坐标扼制大银幕尾随

  _root.aa._x=_root._xmouse*(1-800/400);//用鼠标坐标扼制大银幕x坐标尾随

  _root.aa._y=_root._ymouse*(1-660/330);//用鼠标坐标扼制大银幕y坐标尾随

  按我的计算,要维持不赖位,放大图片aa的x坐标应当是:(1—放大倍数)乘以鼠标的x坐标值(一样,y坐标也是这样计算),如今银幕的放大倍数是800/400,因为这个

  _root.aa._x=_root._xmouse*(1-800/400);

  800是本作品的地图宽,400是flash戏台宽度(可以约分,怕解释明白太费手脚了),制造时要依据自个儿作品的地图和flash的实际像素体积更改。

  一样,_root._ymouse*(1-660/330)中也这么。

  8、在“地图元件”中增加按键,在“地图元件”中增加1个图层放按键。作别选中每一个按键,写上as。以“北京”为例,as如下所述:

  on (rollover) {

  _root.gotoandstop(2);

  }

  on (rollout) {

  _root.gotoandstop(1);

  }

  由于按钮设在mc地图元件中,却是扼制场景的动作,所以在as中加了_root.,on (rollover)时, gotoandstop哪一帧,就在那帧上制造需求的信息。本作品北京的信息制造在第2帧,因为这个gotoandstop(2),共在31个城市用制作了信息表示意思。on (rollout)都是回到第一帧。

  友谊提醒;

  按上头的扼制地图移动的方法,鼠标要稽留在某一个特别指定的点上(例如本例中扑闪的红圆),其实只能是在flash中的一个特别指定的位置上。因为这个,只要避开这个位置,尽可以随心安置需求显露的信息的位置、体积及数目。本例中只有1个拉萨的信息因被遮拦放右面。

  假如页面合宜,也可以让书契、图片信息同时在地图窗户以外的右面或下边显露,但要在左面、上面显露,则地图坐标的计算会复杂很多,没有不可缺少。期望这篇flash在有限的页面内制造大的地图教程对大家有所帮忙!