当前位置:首页>网络学院>网页制作>Flash教程>文章内容

Flash5 自制弹出式对话框

[ 来源:www.it55.com | 作者: | 时间:2007-07-12 | 收藏 | 推荐 ] 【

flash5 编程高级教程系列之一(自制弹出式对话框)
      这个教程是面对已经有编程经验的高级用户的,里面的一些细节问题我就不在一一讲解了,我只讲解我里面的一些主要的编程思想和编程技巧。而它的应用是面向一切flash学习着的,有了这个源文件,你就可以有自己的flash对话框了,记住了,一定建立一个自己的flash功能文件夹,把一些好用又难懂的flash源文件来存在里面,已被平时使用阿。

      对于高级用户来说,我在这个例子中用了非常巧妙的编程方法来实现了弹出对话框以及对话框的确定、取消、关闭、拖动等功能,你可以从中学习,并且如果你发现我的程序有什么不足之处或还有更好的方法的时候请于我联系,我们共同商讨解决。

      对于初级用户来说,你只有会用flash的一些基本功能就可以做成修改成自己的界面,用法非常简单,一看就会,就算是你从来都没有接触过flash,你也可以很快的就能任意的做自己的对话框了。

      我在教程中及源文件中仅提供对话框的两个样式,如果你需要,还可以自己制作自己的各种各样的对话框,方法见下面的教程。 sflj www.it55.com kg^&fgd
另外,因为教程制作仓卒,所以界面简陋,望大家谅解。

下面我将介绍制作过程:


第一步:制作对话框的实体mc。由于对话框分为各种样式,所有对话框可以有很多帧,每一帧是一种样式的对话框。对话框的样式自己定义,对话框里注要包括背景,标题文本框,确定与取消按钮,关闭按钮,主题文本框等等,这些都可以有自己制作。我的实例中只有两帧,就是只有两个样式的对话框。
    另外在对话框的最上一层为action层,每一帧加一句action:
    stop();
具体见实例。

第二步:完成主程序。
2-1:获得对话框的函数。具体程序如下:
// 建立一个新的对话框
function New_Msg () {
    _root.attachMovie("msg", "msg"+_root.deep, _root.deep);
    _root.deep++;
    return eval("msg"+(_root.deep-1));
}

    其中deep是在主场景下的全局变量,随着对话框的增多而曾加,防止出现深度重叠。
    函数以返回的方式输出对话框mc,其中有着很巧妙的用法,看完后面的就知道了。

www.it55.com在线教程


2-2:建立主对话框类及其成员函数。程序如下:

// 建立对话框功能类
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;
}

    以上为对话框功能的类的定义,其中三个参数分别代表对话框的消息框的文字,主题框的文字和对话框的样式,具体见例子。
    在这里面有内部object变量就是this.msg就是2-1步中返回的mc,这样能非常方便的对这个mc进行包括删除的操作,设置deep的初值为10000就是保证弹出的对话框一定在最上面。
Msg.prototype.Show = function (c_x, c_y) vd;k;l www.it55.com rdfg
{
    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;

vd;k;l www.it55.com rdfg


    this.msg.that = this;
};

    以上为对话框的显示成员函数,它的主要功能是显示对话框。其中可以加上一个声音,这个也可以自己定义的。
    这里面最巧妙的一句就是最后一句,它的巧妙之处注要用在了对话框的销毁上,你可以自己体会。

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

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

};

    以上两个成员函数是点击确定与取消时的功能区,主要有自己添加,对话框的功能就可以在这里面实现。

(阅读次数:

返回顶部
共3页: 上一页 1 [2] [3] 下一页  

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]

最新文章