日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

用trace函數(shù)實(shí)現(xiàn)互動地圖后臺快速標(biāo)注地名

系統(tǒng) 2195 0

在上一講中我們介紹了通過調(diào)用外部XML文件實(shí)現(xiàn)了地名的顯示。在這一講中,我們講解如何通過Flash ActionScript代碼的trace函數(shù)實(shí)現(xiàn)互動地圖后臺快速標(biāo)注地名的工作。
   [1b]了解trace函數(shù)[/1b]
   首先我們了解一下trace函數(shù);
   我們可以使用 Flash 調(diào)試播放器捕獲來自 trace() 函數(shù)的輸出并顯示結(jié)果。在測試 SWF 文件時,使用此語句可在"輸出"面板中記錄編程注釋或顯示消息。使用 expression 參數(shù)可以檢查是否存在某種條件,或在"輸出"面板中顯示值。trace() 語句類似于 JavaScript 中的 alert 函數(shù)。可以使用"發(fā)布設(shè)置"對話框中的"省略跟蹤動作"命令將 trace() 動作從導(dǎo)出的 SWF 文件中刪除。
   需要重點(diǎn)提示的是trace()函數(shù)只能在“調(diào)試播放器”中生效;而在正式發(fā)布后,在Flash Player或是Html文件中運(yùn)行的 SWF 文件是無法顯示輸出結(jié)果的;因此,這只是一個對地圖開發(fā)者有效的后臺操作的方法。
[1b]  制作步驟:[/1b]
[1b]  1、創(chuàng)建標(biāo)注按鈕及對話窗口
[/1b][1b]
   [/1b]首先我們要創(chuàng)建一個“標(biāo)注”的按鈕元件,一個名為“input_mc”的影片剪輯作為對話窗口,以及一個名為“input_txt”的動態(tài)文本框用以手動輸入地名名稱;如圖1所示:

圖1 創(chuàng)建標(biāo)注對話窗口
[1b]  2、編寫相關(guān)的ActionScript代碼[/1b]
   打開“標(biāo)注”按鈕的動作面板,輸入以下ActionScript代碼:
on (release) {             //鼠標(biāo)釋放時觸發(fā)
  input_mc._visible = 1;   //開啟標(biāo)注的對話窗口
}
   打開“拾取標(biāo)注點(diǎn)”按鈕的動作面板,輸入以下ActionScript代碼:
on (release) {             //鼠標(biāo)釋放時觸發(fā)
 _root.map_mc.onMouseDown = function () { //當(dāng)鼠標(biāo)按下時觸發(fā)事件    var inputX = _xmouse; //用變量inputX 記錄下當(dāng)前鼠標(biāo)指針的 X 軸坐標(biāo)
   var inputY = _ymouse; //用變量inputY記錄下當(dāng)前鼠標(biāo)指針的 Y 軸坐標(biāo)  }
}
   [1b]注:[/1b]上述代碼中捕捉鼠標(biāo)指針的XY坐標(biāo)值只是示意性的,事實(shí)上在實(shí)用的地圖中遠(yuǎn)遠(yuǎn)沒有這么簡單;因?yàn)槲覀兺ǔJ窃谥付ǖ牡攸c(diǎn)上標(biāo)注地名名稱,因而需要對地圖進(jìn)行縮放、移動等操作;而單純用_xmouse和_ymouse是無法捕捉正確的坐標(biāo)值,必須依靠_xscale、_yscale、_width、_hight、_x、_y等屬性值去糾正因操作地圖產(chǎn)生的偏差。而相關(guān)的公式因不同的地圖結(jié)構(gòu)各不相同,無法在本例中給出通用的代碼。以下是筆者在制作深圳地圖時使用的相關(guān)捕捉點(diǎn)的公式,僅能作概念性的參考;
_global.bzX = Math.round(15868.48*(_root._xmouse-_root.map_mc._x+825*_root.map_mc._xscale/100)/_root.map_mc._xscale);
//捕捉X軸坐標(biāo)
_global.bzY = Math.round(15868.48*(_root._ymouse-_root.map_mc._y+426*_root.map_mc._xscale/100)/_root.map_mc._xscale);
//捕捉Y(jié)軸坐標(biāo)
   而在捕捉到指針坐標(biāo)的同時還可以直接在地圖上顯示一個標(biāo)記,可以加入以下代碼,用一個紅色的圓點(diǎn)表示:
_root.map_mc.createEmptyMovieClip("dzpot_mc", this.getNextHighestDepth());         //畫一個圓點(diǎn)
_root.map_mc.dzpot_mc.lineStyle(2, 0xff0000, 100);   //圓點(diǎn)為紅色,粗細(xì)磅值為2
_root.map_mc.dzpot_mc.moveTo(0, 0);
_root.map_mc.dzpot_mc.lineTo(0, 0.1);
_root.map_mc.dzpot_mc._width = _root.map_mc.dzpot_mc._height = 1000/_root.map_mc._xscale;         //調(diào)整圓點(diǎn)的大小
_root.map_mc.dzpot_mc._x = _root.map_mc._xmouse; //圓點(diǎn)坐標(biāo)與捕捉點(diǎn)重合
_root.map_mc.dzpot_mc._y = _root.map_mc._ymouse; //圓點(diǎn)坐標(biāo)與捕捉點(diǎn)重合
本文轉(zhuǎn)自:http://www.5uflash.com/flashjiaocheng/Flashyingyongkaifa/873.html

用trace函數(shù)實(shí)現(xiàn)互動地圖后臺快速標(biāo)注地名


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 保德县| 渝中区| 辽源市| 雅江县| 桦甸市| 池州市| 滦南县| 永城市| 广平县| 怀宁县| 仁怀市| 旅游| 泗水县| 徐州市| 罗田县| 清苑县| 洛隆县| 兴安县| 色达县| 宁安市| 灵台县| 抚州市| 临漳县| 昌乐县| 华阴市| 肇州县| 大足县| 秀山| 梨树县| 盐山县| 永安市| 凉城县| 靖宇县| 郯城县| 湘乡市| 边坝县| 乐东| 陵川县| 星子县| 谢通门县| 锡林郭勒盟|