华易动力天津网站制作公司 免费咨询热线:400-0022-823 电话:022-28261501 28335110
地址:天津市河西区围堤道146号华盛广场B座22楼
点击这里给我发消息  点击这里给我发消息  点击这里给我发消息
  首页 关于我们 建网站:从这里开始 域名空间服务 案例展示 新闻中心 网站制作知识 网站设计技巧 人才招聘 联系我们  
  网站设计技巧
设计技巧
天津网站制作方案 更多..
如何获得了大量的好的外链资源
常见的长尾关键词组合方法
如何利用百度平台获取流量
营销优化型网站的简介
新顶级域名的形式
网站建设分为如下八步
网站专题设计
关于门户网站设计方案
华易动力售后服务规范
服务器机房介绍
优秀客户展示(排名无先后) 更多..
环化(天津)燃气设备安装有限公司
天津市国信投资担保有限公司
天津城市职业学院
天津大学EMBA
南开大学CID
北京同仁堂天津药店有限公司
金权道(天津)餐饮管理有限公司
天津市友好合作城市企业促进会
天津天大求实电力新技术股份有限公司
天津红旗农贸投资控股有限公司
天津二人锅餐饮管理有限公司
天津市滨湖剧院
渤海产业投资基金管理有限公司
天津天富软管工业有限公司
新闻中心-行业资讯 更多..
· 企业为什么要做APP   2016-11-24
· 如何搭配网站   2016-11-16
· css表单布局的五个小技巧   2016-11-16
· 服务器维护的重点   2016-11-14
· 如何建设你想要的网站类型   2016-11-14
· 阿里设计师用这2方法提升设计创新力   2016-11-3
· 我们看过的各种设计理论法则   2016-11-3
· Windows 8设计时的安全性   2013-12-27
· 未来网站技术的发展   2013-10-12
· 企业网站建设规划   2013-7-30
全部信息 当前位置:首页网站设计技巧 → 详细内容
用Flash制作弹出式对话框的技巧
更新时间:2013/1/4 点击:1551次
这个教程是面对已经有编程经验的高级用户而写的用Flash制作弹出式对话框,里面的一些细节问题我就不在一一讲解了,我只讲解我里面的一些主要的编程思想和编程技巧。而它的应用是面向一切flash学习着的,有了这个源文件,你就可以有自己的flash对话框了。
对于高级用户来说,这个例子中用了非常巧妙的编程方法来实现了弹出对话框以及对话框的确定、取消、关闭、拖动等功能,可以从中学习。 对于初级用户来说,只有会用flash的一些基本功能就可以做成修改成自己的界面,用法非常简单,一看就会,就算是你从来都没有接触过flash,也可以很快的就能任意的做自己的对话框了。在教程中及源文件中仅提供对话框的两个样式,如果需要,还可以自己制作自己的各种各样的对话框,方法见下面的教程。(源文件放在最后,有需要的可以复制保存下来)
下面来介绍制作过程:

第一步:制作对话框的实体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,其中有着很巧妙的用法,看完后面的就知道了。
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)
{
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;
};

以上为对话框的显示成员函数,它的主要功能是显示对话框。其中可以加上一个声音,这个也可以自己定义的。
这里面最巧妙的一句就是最后一句,它的巧妙之处注要用在了对话框的销毁上,你可以自己体会。
Msg.prototype.Msg_Ok = function ()
{
trace("This is Msg_Ok's action.");
//一下添加自己的功能代码:
};
Msg.prototype.Msg_Cancel = function ()
{
trace("This is Msg_Cancle's action.");
//一下添加自己的功能代码:
};
以上两个成员函数是点击确定与取消时的功能区,主要有自己添加,对话框的功能就可以在这里面实现。
Msg.prototype.Del_Msg = function ()
{
// trace("This is Del_Msg's action.");
removeMovieClip (this.msg);
};
以上的成员函数为销毁对话框的函数,在这里,可以看到mc作为函数返回值的巧妙之处。
2-3:完成深度与拖拽的功能函数。程序如下:
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;
}
}
 
  公司总机:022-28261501 28335110
客户服务邮箱:service@nfree.cn,手机直线:15822335163
CopyRight 2006~2024 All Rights Reserved 天津市华易动力信息科技有限公司
地址:天津市河西区围堤道146号华盛广场B座22楼 邮编:300202

津公网安备 12010302001042号


在线QQ(售前咨询)
点击这里给我发消息  点击这里给我发消息  点击这里给我发消息