中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術(shù)文檔 > 多媒體制作 > Flash5 自制彈出式對話框
Flash Lite 中文內(nèi)容開發(fā)指南 回到列表 FLASH調(diào)用XML數(shù)據(jù)簡明教程
 Flash5 自制彈出式對話框

作者:goldgoat 時間: 2003-05-06 文檔類型: 來自:藍色理想

flash5 編程高級教程系列之一(自制彈出式對話框)
      這個教程是面對已經(jīng)有編程經(jīng)驗的高級用戶的,里面的一些細節(jié)問題我就不在一一講解了,我只講解我里面的一些主要的編程思想和編程技巧。而它的應(yīng)用是面向一切flash學(xué)習(xí)著的,有了這個源文件,你就可以有自己的flash對話框了,記住了,一定建立一個自己的flash功能文件夾,把一些好用又難懂的flash源文件來存在里面,已被平時使用阿。

      對于高級用戶來說,我在這個例子中用了非常巧妙的編程方法來實現(xiàn)了彈出對話框以及對話框的確定、取消、關(guān)閉、拖動等功能,你可以從中學(xué)習(xí),并且如果你發(fā)現(xiàn)我的程序有什么不足之處或還有更好的方法的時候請于我聯(lián)系,我們共同商討解決。

      對于初級用戶來說,你只有會用flash的一些基本功能就可以做成修改成自己的界面,用法非常簡單,一看就會,就算是你從來都沒有接觸過flash,你也可以很快的就能任意的做自己的對話框了。

      我在教程中及源文件中僅提供對話框的兩個樣式,如果你需要,還可以自己制作自己的各種各樣的對話框,方法見下面的教程。
另外,因為教程制作倉卒,所以界面簡陋,望大家諒解。

下面我將介紹制作過程:


第一步:制作對話框的實體mc。由于對話框分為各種樣式,所有對話框可以有很多幀,每一幀是一種樣式的對話框。對話框的樣式自己定義,對話框里注要包括背景,標題文本框,確定與取消按鈕,關(guān)閉按鈕,主題文本框等等,這些都可以有自己制作。我的實例中只有兩幀,就是只有兩個樣式的對話框。
    另外在對話框的最上一層為action層,每一幀加一句action:
    stop();
具體見實例。

第二步:完成主程序。
2-1:獲得對話框的函數(shù)。具體程序如下:
// 建立一個新的對話框
function New_Msg () {
    _root.attachMovie("msg", "msg"+_root.deep, _root.deep);
    _root.deep++;
    return eval("msg"+(_root.deep-1));
}

    其中deep是在主場景下的全局變量,隨著對話框的增多而曾加,防止出現(xiàn)深度重疊。
    函數(shù)以返回的方式輸出對話框mc,其中有著很巧妙的用法,看完后面的就知道了。
2-2:建立主對話框類及其成員函數(shù)。程序如下:

// 建立對話框功能類
function Msg (c_string1, c_string2, c_n) {
    this.string1 = c_string1;
    this.string2 = c_string2;
    this.n = c_n;
    //
    if (_root.deep == null) {
        _root.deep = 10000;
    }
    this.num = _root.deep;
    this.msg = New_Msg();
    If_Deep(this.msg);
    this.msg._visible = 0;
}

    以上為對話框功能的類的定義,其中三個參數(shù)分別代表對話框的消息框的文字,主題框的文字和對話框的樣式,具體見例子。
    在這里面有內(nèi)部object變量就是this.msg就是2-1步中返回的mc,這樣能非常方便的對這個mc進行包括刪除的操作,設(shè)置deep的初值為10000就是保證彈出的對話框一定在最上面。
Msg.prototype.Show = function (c_x, c_y)
{
    this.msg._visible = 1;
    //
    this.x = c_x;this.y = c_y;
    if (c_x == null)
    {
        this.x = this.msg._width;
    }
    if (c_y == null)
    {
        this.y = this.msg._height;
    }
    //
    this.mysound = new Sound();
    this.mysound.attachSound("ding");
    this.mysound.start();
    delete this.mysound();
    this.msg.info = this.string1;
    this.msg.message = this.string2;
    this.msg.gotoAndStop(this.n);
    this.msg._x = this.x;
    this.msg._y = this.y;
    this.msg.that = this;
};

    以上為對話框的顯示成員函數(shù),它的主要功能是顯示對話框。其中可以加上一個聲音,這個也可以自己定義的。
    這里面最巧妙的一句就是最后一句,它的巧妙之處注要用在了對話框的銷毀上,你可以自己體會。

Msg.prototype.Msg_Ok = function ()
{
    trace("This is Msg_Ok's action.");
    //一下添加自己的功能代碼:

};
Msg.prototype.Msg_Cancel = function ()
{
    trace("This is Msg_Cancle's action.");
    //一下添加自己的功能代碼:

};


    以上兩個成員函數(shù)是點擊確定與取消時的功能區(qū),主要有自己添加,對話框的功能就可以在這里面實現(xiàn)。
Msg.prototype.Del_Msg = function ()
{
//    trace("This is Del_Msg's action.");
    removeMovieClip (this.msg);
};



    以上的成員函數(shù)為銷毀對話框的函數(shù),在這里,可以看到mc作為函數(shù)返回值的巧妙之處。

2-3:完成深度與拖拽的功能函數(shù)。程序如下:

function If_Deep(c_mc)
{
    _root.old_mc.msg_bg.gotoAndStop(2);
    c_mc.msg_bg.gotoAndStop(1);
    _root.old_mc = c_mc;
}

// 檢測鼠標與那個點擊那個mc
function Mouse_Focue (c_mc) {
    if(_root.mymousedown == 1 && c_mc.hitTest(_root._xmouse,_root._ymouse,true))
    {
        If_Deep(c_mc);
        c_mc.swapDepths(_root.deep++);
        c_mc.startDrag (false);
//        trace(c_mc);
        return true;
    }else{
        c_mc.stopDrag ();
        return false;
    }
}
    這個函數(shù)的功能就是當鼠標在一個對話框上點擊的時候,對話框自動顯示在最前面,這是對話框最其本的標志。另外還實現(xiàn)了拖拽的功能。其中也有很多技巧,你應(yīng)該自己想一想,其中_root.deep++(注意這里可千萬不能將其顛倒,想想為什么?),另外返回值也有妙用。
    這樣,我們的工作就已經(jīng)完成了大部分了,剩下的就是后補工作了,當然還有很多后補工作需要你自己做了。

第三步:判斷鼠標的按下與放開。
    在這里面也不是很簡單的事,因為flash里只有按鈕和mc能判斷鼠標,所以在把這部分放到時間軸上是不太可能的事了,有因為鼠標只能在它自己的熱區(qū)里才能實現(xiàn),所以我們選擇mc,制作一個空的mc為control,并把它放在對話框mc的control層(這是最關(guān)鍵的,想想為什么要放到這里?),在上面加入代碼:
onClipEvent (mouseDown) {
    if(_root.mouse_down_ip != true){
        _root.mymousedown = 1;
        _root.mouse_down_ip = _root.Mouse_Focue(_parent);
    }
}
onClipEvent (mouseUp) {
    _root.mymousedown = 0;
    _root.mouse_down_ip = _root.Mouse_Focue(_parent);
    stopDrag();
}
    在這段程序之中就能看到拖動對話框的函數(shù)的返回值有什么作用了吧,如果還不明白,那還得慢慢體會,也可以去掉試一試。

最后:完成對話框里的幾個按鈕上的action:
4-1:“確定"按鈕上的action:

on (release) {
    that.Msg_Ok();
    // 一下添加自己的功能代碼:

    that.Del_Msg();
}
    這里明白2-2程序里最后一句的作用了吧。
4-2:“取消”按鈕上的action:
on (release) {
    that.Msg_Cancel();
    // 一下添加自己的功能代碼:

    that.Del_Msg();
}
    啊,都是一樣的啊,當然了,就是一樣的嗎。
4-3:“關(guān)閉”按鈕上的action(右上角的):

on (release) {
    that.Del_Msg();
}
    原來就這么簡單啊。

(有關(guān)程序的實現(xiàn),請見例子)
        
總結(jié):到現(xiàn)在我們的對話框程序就全部完成了,有人會說,我要是自己做一個專用的早就做好了,你要用這么長時間才能作出來啊,不值啊。問問大家是嗎,不是的,我做這一個的確不值,但是要是我要很多,我還要很多此的用呢,到底值不值,大家自己也是能想清楚的。另外如果你的手里已經(jīng)有了這個程序呢,唉,簡單多了,那大家還不該學(xué)的學(xué),該收藏的收藏。

還有,那些想做我那個打字程序的同學(xué)們,這是我的第一個教程,也是那里面第一個出現(xiàn)的東西,以后還要注意,余下的程序啊。一定注意!。_^


下面為源程序:

[Ctrl+A 全部選擇 然后拷貝]

下載源文件

出處:藍色理想
責任編輯:藍色

◎進入論壇Flash專欄版塊參加討論

相關(guān)文章 更多相關(guān)鏈接
Flash 酷站獵手
中文ID3亂碼問題MX解決方案
用AS2解決中文ID3的亂碼
Flash常用效果-移動模糊效果
Flash MX 2005 制作環(huán)境預(yù)覽
作者文章
簡單的Flash鼠標跟隨制作教程
Coldfusion:使用j2ee的session
Flash5 自制彈出式對話框
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計比賽 網(wǎng)頁制作 web標準 用戶體驗 UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點最新 站點最新列表
周大!熬•自然”設(shè)計大賽開啟
國際體驗設(shè)計大會7月將在京舉行
中國國防科技信息中心標志征集
云計算如何讓安全問題可控
云計算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機會
阿里行云
云手機年終巨獻,送禮標配299起
阿里巴巴CTO王堅的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機主題設(shè)計大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個可愛的鉛筆圖標
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機制之一:普通流
25個最佳最閃亮的Eclipse開發(fā)項目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule

藍色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準打上各自站點的水印,亦不能抹去我站點水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計作品,如需使用,請與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯誤,請用報告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關(guān)的廣告鏈接,違者封ID
請您注意:
·不良評論請用報告管理員,以利管理員及時刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項有關(guān)法律法規(guī)
·承擔一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責任
·本站評論管理人員有權(quán)保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報告錯誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計》
犀利開發(fā)—jQuery內(nèi)核詳解與實踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2