資源描述:
《flash地圖的制作教程》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、關(guān)于flash,大家或多或少都有所了解。比如上網(wǎng),到處都能看到flash的存在。flash的應用也是五花八門。今天我們講的是用flash做電子地圖。現(xiàn)在在網(wǎng)上隨處都能找到電子地圖,其中大部分都是java來開發(fā)的,其實用flash也可以做電子地圖。且界面還比較漂亮?,F(xiàn)在網(wǎng)上已經(jīng)有用flash做的電子地圖了。且呈發(fā)展趨勢。象"中國電子地圖網(wǎng)"里面的地圖就是用flash做的。還有九江,五邑等地圖也都是用flash來完成的?,F(xiàn)在我們就來學習用flash做電子地圖,首先要了解電子地圖的功能,最主要的功能就是
2、方便你查找,還有就是可以有選擇性的顯示。比如我到一個城市,我要去一個地方,如果有一張地圖,你需要一點一點的看,還要找怎么去。而電子地圖就不一樣了,你可以搜索,就直接標出那個地方,還可以告訴你幾路公交車到,附近有什么賓館,飯店等等。所以,電子地圖一般要具備的功能是:放大,縮小,移動,地點鏈接(相信介紹),搜索,等一系列功能。這么大的數(shù)據(jù)量是不肯保存在flash里的,從技術(shù)的層面來說,就是要做到數(shù)據(jù)和圖層的動態(tài)載入,實現(xiàn)數(shù)據(jù)的模糊,智能,區(qū)域查詢等功能。廢話少說,首先我們來認識flash的mc(影片剪
3、輯),已經(jīng)做電子地圖所用到的幾個屬性。如下:_x?//相對于父級影片剪輯的本地坐標的?x?坐標。如果影片剪輯在主時間軸中,則其坐標系統(tǒng)將舞臺的左上角作為?(0,?0)。_y?//相對于父級影片剪輯的本地坐標的?y?坐標。如果影片剪輯在主時間軸中,則其坐標系統(tǒng)將舞臺的左上角作為?(0,?0)。_width?//影片剪輯的寬度,以像素為單位。_height?//影片剪輯的高度,以像素為單位。_xscale?//確定從影片剪輯注冊點開始應用的影片剪輯水平縮放比例。默認注冊點為?(0,0)。_yscale
4、?//設(shè)置從影片剪輯注冊點開始應用的影片剪輯垂直縮放比例。默認注冊點為?(0,0)。利用鼠標和鍵盤來完成地圖的放大、縮小、拖動等功能:startDrag?函數(shù)?//執(zhí)行?startDrag()?操作后,影片剪輯將保持可拖動狀態(tài)。stopDrag?函數(shù)?//和startDrag是一對函數(shù),用于停止當前的拖動操作。基本上就這么多了,一會遇到那個再詳細講。下面我們一步一步來做電子地圖:一、首先我們打開flash新建一個影片,大小設(shè)為寬:440px高:316。(根據(jù)你的需要來設(shè)定)。二、然后倒入一張你準備
5、好的地圖,我的是一張880╳632的(這樣放大時效果會好很多),導入到庫中。然后打開庫,選擇地圖拖入到場景中,轉(zhuǎn)換成影片剪輯,注冊點選則中央,這樣放大縮小就以這個地圖的中央為中心了。取名為map_mc(重要的事下面的名字)。因為程序要控制這個地圖,所以要給他起個名字。三、好了,地圖剪輯建好了,我們就開始用程序控制他了。首先,我們來實現(xiàn)放大縮小。有的介紹的是用_width和_height這兩個屬性,也可以實現(xiàn),但沒有_xscale和_yscale方便。因為_xscale和_yscale直接就是原大小
6、的百分比。新建一個圖層,選中然后在場景中畫個方塊,轉(zhuǎn)換成按鈕(和地圖一樣,不過次選擇的是按鈕)。給按鈕命名為fangda_btn,選擇這個按鈕,打開動作面板寫上如圖的程序:同理建立縮小和還原的按鈕。放大按鈕上的程序:on(press){?//當鼠標按下的時候執(zhí)行下面的程序map_mc._xscale=map_mc._xscale+10;?//地圖在x軸上的百分比增加10map_mc._yscale=map_mc._yscale+10;?//地圖在y軸上的百分比增加10}縮小按鈕上的程序:on(pr
7、ess){?//當鼠標按下的時候執(zhí)行下面的程序map_mc._xscale=map_mc._xscale-10;?//地圖在x軸上的百分比減少10map_mc._yscale=map_mc._yscale-10;?//地圖在y軸上的百分比減少10}還原按鈕上的程序:on(press){?//當鼠標按下的時候執(zhí)行下面的程序map_mc._xscale=100;?//地圖在x軸上的原大小map_mc._yscale=100;?//地圖在y軸上的原大小}在時間軸上的程序:(因為拖動的四地圖,不用按鈕,當
8、然,其他的也可以寫到時間軸上)map_mc.onMouseDown?=?function?()?{?//當鼠標按下的時候執(zhí)行startDrag(map_mc);?//鼠標可以拖動地圖}map_mc.onMouseUp?=?function?()?{?//當鼠標彈起(不按時)stopDrag();?//停止拖動}最后,大家可能會發(fā)現(xiàn),如果一直縮小,就會出現(xiàn)問題,后來反而變大了,拖動可以把地圖拖出去,這些都不是我們想要的效果,我們下一次會專門講解這個問題,在這先透露一下,我們下一節(jié)講的