WEB开发网
开发学院图形图像Flash 用trace函数实现互动地图后台快速标注地名 阅读

用trace函数实现互动地图后台快速标注地名

 2006-12-30 10:50:02 来源:WEB开发网   
核心提示: 了解trace函数 首先我们了解一下trace函数; 我们可以使用 Flash 调试播放器捕获来自 trace() 函数的输出并显示结果,在测试 SWF 文件时,用trace函数实现互动地图后台快速标注地名,使用此语句可在"输出"面板中记录编程注释或显示消息,使用 expression 参数可以检

了解trace函数

首先我们了解一下trace函数;

我们可以使用 Flash 调试播放器捕获来自 trace() 函数的输出并显示结果。在测试 SWF 文件时,使用此语句可在"输出"面板中记录编程注释或显示消息。使用 expression 参数可以检查是否存在某种条件,或在"输出"面板中显示值。trace() 语句类似于 JavaScript 中的 alert 函数。可以使用"发布设置"对话框中的"省略跟踪动作"命令将 trace() 动作从导出的 SWF 文件中删除。

需要重点提示的是trace()函数只能在“调试播放器”中生效;而在正式发布后,在Flash Player或是Html文件中运行的 SWF 文件是无法显示输出结果的;因此,这只是一个对地图开发者有效的后台操作的方法。

制作步骤:

1、创建标注按钮及对话窗口

首先我们要创建一个“标注”的按钮元件,一个名为“input_mc”的影片剪辑作为对话窗口,以及一个名为“input_txt”的动态文本框用以手动输入地名名称;如图1所示:

图1 创建标注对话窗口

2、编写相关的ActionScript代码

打开“标注”按钮的动作面板,输入以下ActionScript代码:

on (release) {             //鼠标释放时触发
  input_mc._visible = 1;   //开启标注的对话窗口
}

打开“拾取标注点”按钮的动作面板,输入以下ActionScript代码:

on (release) {             //鼠标释放时触发
 _root.map_mc.onMouseDown = function () { //当鼠标按下时触发事件    var inputX = _xmouse; //用变量inputX 记录下当前鼠标指针的 X 轴坐标
   var inputY = _ymouse; //用变量inputY记录下当前鼠标指针的 Y 轴坐标  }
}

注:上述代码中捕捉鼠标指针的XY坐标值只是示意性的,事实上在实用的地图中远远没有这么简单;因为我们通常是在指定的地点上标注地名名称,因而需要对地图进行缩放、移动等操作;而单纯用_xmouse和_ymouse是无法捕捉正确的坐标值,必须依靠_xscale、_yscale、_width、_hight、_x、_y等属性值去纠正因操作地图产生的偏差。而相关的公式因不同的地图结构各不相同,无法在本例中给出通用的代码。以下是笔者在制作深圳地图时使用的相关捕捉点的公式,仅能作概念性的参考;

1 2  下一页

Tags:trace 函数 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接