多个朋友因工作或爱好
![](/icons/87028de.gif)
需要
![](/icons/87028dou.gif)
询问如何用flash在有限
![](/icons/87028de.gif)
页面内制作大
![](/icons/87028de.gif)
地图
![](/icons/87028dou.gif)
并链接、显示有关地点
![](/icons/87028de.gif)
信息
![](/icons/87028dou.gif)
为此将我自己做
![](/icons/87028de.gif)
![](/icons/87028yi.gif)
个记录旅游地点
![](/icons/87028de.gif)
flash地图略作精简、修改
![](/icons/87028dou.gif)
做了这个flash
![](/icons/87028dou.gif)
并将关键部分做法介绍如下(原有
![](/icons/87028de.gif)
那个包括显示信息中
![](/icons/87028de.gif)
文字和采用
![](/icons/87028de.gif)
旅游照片
![](/icons/87028dou.gif)
将近10 M
![](/icons/87028dou.gif)
太大了
![](/icons/87028dou.gif)
无法上传)
作品见下方(好久没发帖了
![](/icons/87028dou.gif)
不知该如何发swf文件了
![](/icons/87028dou.gif)
把考屏图放下面方便了解)
![flash在有限<img src='/icons/87028de.gif' />页面内制作大<img src='/icons/87028de.gif' />地图](http://www.crazycoder.cn/WebFiles/20098/87ea82f5-74c8-4d46-a3ab-0fb9964c0ee9.jpeg)
特点:
缩小地图以适应页面大小
![](/icons/87028de.gif)
局限
![](/icons/87028dou.gif)
用放大镜来放大缩小了
![](/icons/87028de.gif)
地图
![](/icons/87028dou.gif)
使能清晰
![](/icons/87028de.gif)
看到需要
![](/icons/87028de.gif)
细节
![](/icons/87028dou2.gif)
使用AS纠正普通遮罩制作放大镜错位较大
![](/icons/87028de.gif)
缺陷
![](/icons/87028dou.gif)
放大部分在镜片
![](/icons/87028de.gif)
中心(红十字处)没有错位
![](/icons/87028dou2.gif)
用鼠标经过、离开按钮
![](/icons/87028de.gif)
AS来控制显示有关需要
![](/icons/87028de.gif)
信息(作品中鼠标在放大镜
![](/icons/87028de.gif)
中心红十字处)
![](/icons/87028yinwei.gif)
地图窗口大小同选
![](/icons/87028de.gif)
地图长宽要成比例
![](/icons/87028dou.gif)
如果页面合适
![](/icons/87028dou.gif)
也可以让信息同时在地图窗口
![](/icons/87028de.gif)
右边或下面显示
![](/icons/87028dou.gif)
我自己做
![](/icons/87028de.gif)
记录旅游地点
![](/icons/87028de.gif)
地图
![](/icons/87028dou.gif)
文字信息是在右边显示
![](/icons/87028dou.gif)
用组件加滚动条;照片用MC元件
![](/icons/87028dou.gif)
位置在地图窗口内
![](/icons/87028dou.gif)
循环播放
![](/icons/87028dou.gif)
这样显示
![](/icons/87028de.gif)
信息量可以非常大
![](/icons/87028dou2.gif)
图
![](/icons/87028yi.gif)
(信息显示另
![](/icons/87028yi.gif)
做法)
![flash在有限<img src='/icons/87028de.gif' />页面内制作大<img src='/icons/87028de.gif' />地图](http://www.crazycoder.cn/WebFiles/20098/7f7f81c1-4aad-417f-a3a8-ffeb3de4c0d1.jpeg)
本作品仅作为示意
![](/icons/87028dou.gif)
1、各地
![](/icons/87028de.gif)
朋友千万不要在地理问题上拍砖哦
![](/icons/87028dou2.gif)
2、
![](/icons/87028yi.gif)
些距离太近
![](/icons/87028de.gif)
城市偷懒没设定信息显示链接(解决办法是缩小按钮
![](/icons/87028de.gif)
反应面积)
![](/icons/87028dou2.gif)
3、为便于上传
![](/icons/87028dou.gif)
地图只放大了1倍
![](/icons/87028dou.gif)
图片
![](/icons/87028de.gif)
品质也选定得很低
![](/icons/87028dou2.gif)
4、同样
![](/icons/87028dou.gif)
示意中只有北京同时采用显示1张图片
做法介绍:
1、各图层拷屏如图2
![](/icons/87028dou.gif)
为了容易看清做法
![](/icons/87028dou.gif)
图层分得细了些
舞台(或地图窗口)大小同选
![](/icons/87028de.gif)
地图长宽要成比例(便于满舞台显示不变形)
![](/icons/87028dou.gif)
我用
![](/icons/87028de.gif)
舞台是400*330
![](/icons/87028dou.gif)
地图是800*660(这2个尺寸在下面帧动作中要用)
![](/icons/87028dou.gif)
只放大1倍
![](/icons/87028dou2.gif)
放大倍数可自己确定
![](/icons/87028dou.gif)
只需在步骤7
![](/icons/87028de.gif)
帧动作AS中改动相应数据即可
友情提示:如果地图窗口小于舞台
![](/icons/87028dou.gif)
地图窗口
![](/icons/87028de.gif)
坐标应该是(0
![](/icons/87028dou.gif)
0)
![](/icons/87028dou2.gif)
图 2:
![flash在有限<img src='/icons/87028de.gif' />页面内制作大<img src='/icons/87028de.gif' />地图](http://www.crazycoder.cn/WebFiles/20098/f4ff9250-bd59-409a-950e-ed911e3a6404.jpeg)
2、新建电影剪辑元件(即MC)“地图元件”
![](/icons/87028dou.gif)
把选定
![](/icons/87028de.gif)
地图图片导入
![](/icons/87028dou.gif)
图片
![](/icons/87028de.gif)
X、Y坐标都是0
![](/icons/87028dou.gif)
即左上角对着元件界面
![](/icons/87028de.gif)
+ 处
![](/icons/87028dou2.gif)
简单办法是选中图片
![](/icons/87028dou.gif)
打开属性面板
![](/icons/87028dou.gif)
把X、Y 都改为0
![](/icons/87028dou.gif)
然后用Enter键确定
3、把做好
![](/icons/87028de.gif)
MC拖入场景“小图”图层中
![](/icons/87028dou.gif)
在场景
![](/icons/87028de.gif)
属性中设定MC坐标为(0
![](/icons/87028dou.gif)
0)
![](/icons/87028dou.gif)
宽、高数值同舞台
![](/icons/87028yi.gif)
致
![](/icons/87028dou.gif)
然后用Enter键确定
4、把做好
![](/icons/87028de.gif)
MC再拖入场景“大图”图层中
![](/icons/87028dou.gif)
MC在场景中
![](/icons/87028de.gif)
坐标也设定为(0
![](/icons/87028dou.gif)
0)
![](/icons/87028dou.gif)
选中“大图”图层中
![](/icons/87028de.gif)
MC
![](/icons/87028dou.gif)
在属性中命名为aa
5、做放大镜
新建MC元件“放大镜元件”
![](/icons/87028dou.gif)
画圆
![](/icons/87028dou.gif)
圆
![](/icons/87028de.gif)
左右上下均必须居中
![](/icons/87028dou2.gif)
用剪切、粘贴到当前位置
![](/icons/87028de.gif)
办法
![](/icons/87028dou.gif)
把圆
![](/icons/87028de.gif)
色块和边框分别放在2个图层中
![](/icons/87028dou2.gif)
把镜片图层中
![](/icons/87028de.gif)
颜色块转换为MC元件“镜片元件”
![](/icons/87028dou2.gif)
在“放大镜元件”中选中镜片MC
![](/icons/87028dou.gif)
在属性中命名为ee
![](/icons/87028dou2.gif)
颜色块是做遮罩用
![](/icons/87028de.gif)
![](/icons/87028dou.gif)
在swf文件中看不到它
![](/icons/87028dou.gif)
只是在有颜色
![](/icons/87028de.gif)
部分能看到被遮蔽
![](/icons/87028de.gif)
“大图”图层中
![](/icons/87028de.gif)
画面
![](/icons/87028dou.gif)
所以颜色任意
![](/icons/87028dou2.gif)
镜框在swf文件中是看得到
![](/icons/87028de.gif)
![](/icons/87028dou.gif)
颜色、式样自定
![](/icons/87028dou2.gif)
再增加1个图层放十字线
![](/icons/87028dou.gif)
同镜框
![](/icons/87028yi.gif)
样在swf文件中是看得到
![](/icons/87028de.gif)
![](/icons/87028dou2.gif)
用“极细”线
友情提示:如果工作中需要比例尺
![](/icons/87028dou.gif)
也可经过计算
![](/icons/87028dou.gif)
把十字线设定为比例尺
![](/icons/87028dou.gif)
计算法如下:
每格标注
![](/icons/87028de.gif)
距离=每格对应
![](/icons/87028de.gif)
地图上两点间实际距离*每格像素/地图上该距离
![](/icons/87028de.gif)
像素
实际操作
![](/icons/87028dou.gif)
可以测定在地图上已知距离
![](/icons/87028de.gif)
水平(或竖直)
![](/icons/87028de.gif)
两点的间
![](/icons/87028de.gif)
像素值
![](/icons/87028dou.gif)
计算出1个像素在地图上是多少公里
![](/icons/87028dou.gif)
再确定镜片上每格几个像素
![](/icons/87028dou.gif)
标定比例尺
6、把“放大镜元件”MC拖入场景放大镜图层
![](/icons/87028dou2.gif)
选中放大镜MC
![](/icons/87028dou.gif)
命名为ff
7、AS
回顾
![](/icons/87028yi.gif)
下
![](/icons/87028dou.gif)
上面已经分别为3个MC命名了
![](/icons/87028dou.gif)
命名应该同下面AS中
![](/icons/87028yi.gif)
致
![](/icons/87028dou.gif)
不能搞错
场景中大地图MC命名为aa
场景中放大镜MC
![](/icons/87028dou.gif)
命名为ff
放大镜元件中放大镜镜片MC
![](/icons/87028dou.gif)
命名为ee
在AS图层选中帧
![](/icons/87028dou.gif)
写如下帧动作
_root.onEnterFrame = function
{
Mouse.hide
;//隐藏鼠标
startDrag("_root.ff", true);// 控制望远镜ff随鼠标移动
_root.aa.
Mask(_root.ff.ee) //用ff中
ee遮蔽aa
_root.aa._x=_root._xmouse*(1-80/40);//用鼠标坐标控制大画面x坐标跟随
_root.aa._y=_root._ymouse*(1-66/33);//用鼠标坐标控制大画面y坐标跟随
}
![](/icons/87028yinwei.gif)
放大镜中有看得见和看不见
![](/icons/87028de.gif)
两种图形
![](/icons/87028dou.gif)
所以用AS脚本控制遮罩
_root.aa.
![](/icons/87028set.gif)
Mask(_root.ff.ee)
即用ff中
![](/icons/87028de.gif)
ee遮蔽aa——括号内
![](/icons/87028de.gif)
是遮蔽MC
![](/icons/87028dou.gif)
前边
![](/icons/87028de.gif)
是被遮蔽MC
用鼠标坐标控制大画面跟随
_root.aa._x=_root._xmouse*(1-800/400);//用鼠标坐标控制大画面x坐标跟随
_root.aa._y=_root._ymouse*(1-660/330);//用鼠标坐标控制大画面y坐标跟随
按我
![](/icons/87028de.gif)
计算
![](/icons/87028dou.gif)
要保持不错位
![](/icons/87028dou.gif)
放大图片aa
![](/icons/87028de.gif)
x坐标应该是:(1—放大倍数)乘以鼠标
![](/icons/87028de.gif)
x坐标值(同样
![](/icons/87028dou.gif)
y坐标也是这么计算)
![](/icons/87028dou.gif)
现在画面
![](/icons/87028de.gif)
放大倍数是800/400
![](/icons/87028dou.gif)
因此
_root.aa._x=_root._xmouse*(1-800/400);
800是本作品
![](/icons/87028de.gif)
地图宽
![](/icons/87028dou.gif)
400是flash舞台宽度(可以约分
![](/icons/87028dou.gif)
怕介绍说明太费事了)
![](/icons/87028dou.gif)
制作时要根据自己作品
![](/icons/87028de.gif)
地图和flash
![](/icons/87028de.gif)
实际像素大小更改
同样
![](/icons/87028dou.gif)
_root._ymouse*(1-660/330)中也这样
8、在“地图元件”中增加按钮
![](/icons/87028dou.gif)
在“地图元件”中增加1个图层放按钮
![](/icons/87028dou2.gif)
分别选中每
![](/icons/87028yi.gif)
个按钮
![](/icons/87028dou.gif)
写上AS
![](/icons/87028dou2.gif)
以“北京”为例
![](/icons/87028dou.gif)
AS如下:
(rollOver) {
_root.gotoAndStop(2);
}
on (rollOut) {
_root.gotoAndStop(1);
}
![](/icons/87028yinwei.gif)
按键设在MC地图元件中
![](/icons/87028dou.gif)
却是控制场景
![](/icons/87028de.gif)
动作
![](/icons/87028dou.gif)
所以在AS中加了_root.
![](/icons/87028dou.gif)
on (rollOver)时
![](/icons/87028dou.gif)
gotoAndStop哪
![](/icons/87028yi.gif)
帧
![](/icons/87028dou.gif)
就在那帧上制作需要
![](/icons/87028de.gif)
信息
![](/icons/87028dou2.gif)
本作品北京
![](/icons/87028de.gif)
信息制作在第2帧
![](/icons/87028dou.gif)
因此gotoAndStop(2)
![](/icons/87028dou.gif)
共在31个城市制作了信息示意
![](/icons/87028dou2.gif)
on (rollOut)都是回到第1帧
友情提示;
按上面
![](/icons/87028de.gif)
控制地图移动
![](/icons/87028de.gif)
办法
![](/icons/87028dou.gif)
鼠标要停留在某
![](/icons/87028yi.gif)
个特定
![](/icons/87028de.gif)
点上(例如本例中闪动
![](/icons/87028de.gif)
红圆)
![](/icons/87028dou.gif)
实际上只能是在flash中
![](/icons/87028de.gif)
![](/icons/87028yi.gif)
个特定
![](/icons/87028de.gif)
位置上
![](/icons/87028dou2.gif)
因此
![](/icons/87028dou.gif)
只要避开这个位置
![](/icons/87028dou.gif)
尽可以随意安排需要显示
![](/icons/87028de.gif)
信息
![](/icons/87028de.gif)
位置、大小及数量
![](/icons/87028dou2.gif)
本例中只有1个拉萨
![](/icons/87028de.gif)
信息因被遮挡放右边
如果页面合适
![](/icons/87028dou.gif)
也可以让文字、图片信息同时在地图窗口的外
![](/icons/87028de.gif)
右边或下面显示
![](/icons/87028dou.gif)
但要在左边、上边显示
![](/icons/87028dou.gif)
则地图坐标
![](/icons/87028de.gif)
计算会复杂许多
![](/icons/87028dou.gif)
没有必要
其他部分常规制作从源文件中即可
![](/icons/87028yi.gif)
目了然
![](/icons/87028dou.gif)
不再
![](/icons/87028yi.gif)
![](/icons/87028yi.gif)
介绍
延伸阅读
最新评论