麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 辦公 > Flash > 正文

XML動態菜單 (二)flash

2024-09-12 17:50:37
字體:
來源:轉載
供稿:網友
在上一期的XML菜單的教程中,我們做了一個簡單的縱向排列的XML文字菜單,并且在flash中附加了一個跟隨鼠標的縮略圖。縮略圖的數據也是從XML中提取的。
在我們XML菜單教程的第二期,我們來解決另外一個問題。
我們都知道XML的方便,隨意的更改,刪除和添加數據。請注意,更改和刪除還好,如果添加的話,這里就會有一個界面排版和用戶使用的問題的。拿我們上一次的XML菜單來演示,我把我們的XML文件有添加了幾十條內容,結果我們的XML菜單變成這樣了:
http://www.keyframe1.com/tute/xmlMenu2/index2.htm
下面的菜單看不到了,可能很多人馬上已經想到了解決這種問題的辦法。對!我們要讓我們的用戶可以滾動瀏覽我們的XML菜單,就像這樣:
http://www.keyframe1.com/tute/xmlMenu2/
現在你可以看到所以XML文件里的幾十條記錄全部在舞臺上,并可以讓用戶來滾動瀏覽。無論你如何修改XML文件,永遠是鼠標放在菜單頂端會停留在菜單的第一條,當鼠標滑動至菜單的底端時會停留在菜單的最后一條,無論XML文件的紀錄條數,如果很短,滾動會自然不存在,如果超出規定菜單高度,就會像剛才所說的那樣的規律來滾動,即便XML中有1000條記錄也如此。
由于是建立在上一期教程的基礎上的,一些在上一期中重復使用了的代碼就不再講解了。上一期XML菜單教程地址: XML動態菜單 (一)
第一步, 分析項目:
  > 組成部分
      - XML文件;
      - FLASH源文件;
      - 縮略圖JPG文件,50px X 50px 存放在 thumb文件夾;
  > 步驟
      - 要使XML菜單可以滾動,最簡單的辦法就是把所有裝有XML菜單的影片剪輯都放在一個母影片剪輯中;
      - 計算出正確的等式;
第二步,開始建立我們需要的一些元素,并把它們擺到大概理想的位置:
  > 一個放所有裝有XML菜單的影片剪輯的母影片剪輯,我們叫做mcontainer 150px寬,高340px;
  > 兩個上下箭頭,只是為了美觀;
  > 把mcontainer 影片剪輯在工作去擺到(310, 30);
第三步,actionscripting
復制代碼 代碼如下:
//這次我們添加了些新的變量由于計算方便需要
var menut:Number = 30; 
var menul:Number = 300; 
var menub:Number = 370; //菜單底部坐標
var menuw:Number = 150; //菜單寬度
var menuh:Number = menub - menut; //菜單在舞臺顯示高度 (也就是遮罩高度)
var home:MovieClip = this;
var mlh:Number = 20;
var tlh:Number = 60;
var speed:Number = 2;
//關于XML的讀取我們就不再解釋了,請參考上一期教程。我們直接進入本期教程的核心代碼:鼠標滾動計算等式:
mcontainer.onEnterFrame = function()
{
    if(_root._xmouse > menul && _root._xmouse < (menul + menuw)) //當鼠標的滑動至菜單的舞臺顯示區域時激活滑動代碼,我們不希望鼠標在舞臺上任何地方移動時菜單都在滾動
    {
        var per:Number = (_root._ymouse - menut) / menuh; //計算鼠標從菜單頂部向下滑動了多少?并處以菜單高度得出鼠標移動的百分比
        var menuth:Number = mlh * numMenu; //利用菜單文字行距和XML記錄總條數算出菜單實際高度
        //滾動菜單原理是:鼠標從菜單頂部向下滑動了百分之多少,菜單就相應的向上移動自己實際高度的百分之多少,然后再加上鼠標向下移動的實際像素數。呵呵,慢慢琢磨下應該不難理解,實在是沒有更簡單的解釋方法,本身就是那么個單純的事情
        mcontaindy = menut - menuth * per + menuh * per;
        mcontainoldy = this._y;
        this._y += (mcontaindy - mcontainoldy) / speed;
        if(_root._ymouse < menut)mcontainer._y = menut; //如果鼠標小于菜單頂部坐標,把菜單坐標寫死到頂部坐標;
        if(_root._ymouse > menub)mcontainer._y = menut - menuth + menuh; //同樣如果鼠標大于菜單底部坐標,把菜單坐標寫死到底部坐標;
    }
}

這個就是本期最主要的代碼了,其他的相信看過上一期教程的看看源文件的注解應該可以搞明白的。
現在我們可以真正隨意修改,刪除,添加我們的XML文件了,我們的XML菜單都可以滿足用戶的正常瀏覽使用。試試添加它500條記錄。如果你在做一個相冊,里面有上百張照片,這個可以是個不錯的選擇,滾動的簡單文字標題和縮略圖,使用起來應該很友好的。
下一期XML菜單教程希望盡快可以出來。 多謝閱讀!
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久人人97超碰国产公开结果 | 国产流白浆高潮在线观看 | 亚洲午夜精选 | 一级成人毛片 | 久草在线观看资源 | 一区二区三区国产视频 | 中文字幕综合 | 第一区免费在线观看 | 欧美色视频免费 | 一级电影中文字幕 | 精品人成 | 久久久精品视频网站 | 超碰人人做人人爱 | 深夜小视频在线观看 | 久久久国产精品成人免费 | 国产做爰 | 国产欧美精品综合一区 | 中日韩乱码一二新区 | 九九热精品视频在线免费观看 | 国产精品久久久久久久久久久久久久久 | 国产亚洲精品综合一区91 | 未成年人在线观看 | 久草中文网 | 国产成人高清在线观看 | 在线播放视频一区二区 | www.17c亚洲蜜桃 | 日韩午夜片 | 禁漫天堂久久久久久久久久 | 操操操日日日干干干 | 国产亚洲精品久久久久婷婷瑜伽 | 9999精品| 美女视频网站黄色 | 日韩视频在线一区二区三区 | 日本aaa一级片 | 91久久久久久 | 成人黄色网战 | 美女久久 | 日韩精品中文字幕在线播放 | 午夜国内精品a一区二区桃色 | 亚洲综合视频网 | av在线影片|