分享
 
 
 

Disabled按钮的制作方法

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

效果浏览:

http://www.flash8.net/bbs/UploadFile/2005-7/2005725151829471.swf

点击这里下载源文件

在一些特定应用中,我们需要用到按钮的Disabled状态.下面我们就来制作一个这样的效果.

1.首先,在场景中新建一个MC(影片剪辑MovieClip),在此MC中绘制一个图形,把线条和填充颜色分别转换为MC,如图1:

(图1);

2.完成后拖到场景中,复制一个,并调整方向,分别取实例名为”arrowPrev””arrowNext”,如图2:

(图2)

3.在场景中绘制一个动态文本,命名变量名为”currentPage”,用于显示当前页数;

4.界面工作完毕,下面新建一图层,命名为AS,按F9打开动作面板,输入/复制下面的代码:

//初始化页面总数

pageNum = 5;

//初始化按钮

arrowPrev.enabled = false;

arrowNext.enabled = true;

borderColor = new Color(arrowPrev.border);

borderColor.setRGB("0x999999");

fillColor = new Color(arrowPrev.fill);

fillColor.setRGB("0xcccccc");

//上一页按钮

arrowPrev.onRollOver = function() {

borderColor = new Color(this.border);

borderColor.setRGB("0xff6600");

fillColor = new Color(this.fill);

fillColor.setRGB("0xFFEBD7");

};

arrowPrev.onRollOut = function() {

borderColor = new Color(this.border);

borderColor.setRGB("0x339966");

fillColor = new Color(this.fill);

fillColor.setRGB("0xD2F0E1");

};

arrowPrev.onRelease = function() {

arrowNext.enabled = true;

borderColor = new Color(arrowNext.border);

borderColor.setRGB("0x339966");

fillColor = new Color(arrowNext.fill);

fillColor.setRGB("0xD2F0E1");

if (currentPage>1) {

currentPage = parseInt(currentPage)-1;

} else {

this.enabled = false;

borderColor = new Color(this.border);

borderColor.setRGB("0x999999");

fillColor = new Color(this.fill);

fillColor.setRGB("0xcccccc");

}

};

//下一页按钮

arrowNext.onRollOver = function() {

borderColor = new Color(this.border);

borderColor.setRGB("0xff6600");

fillColor = new Color(this.fill);

fillColor.setRGB("0xFFEBD7");

};

arrowNext.onRollOut = function() {

borderColor = new Color(this.border);

borderColor.setRGB("0x339966");

fillColor = new Color(this.fill);

fillColor.setRGB("0xD2F0E1");

};

arrowNext.onRelease = function() {

arrowPrev.enabled = true;

borderColor = new Color(arrowPrev.border);

borderColor.setRGB("0x339966");

fillColor = new Color(arrowPrev.fill);

fillColor.setRGB("0xD2F0E1");

if (currentPage<pageNum) {

currentPage = parseInt(currentPage)+1;

} else {

this.enabled = false;

borderColor = new Color(this.border);

borderColor.setRGB("0x999999");

fillColor = new Color(this.fill);

fillColor.setRGB("0xcccccc");

}

};

//拖动场景

drag.onMouseDown=function(){

if(this.hitTest(_xmouse,_ymouse,true)) startDrag(_root,false);

}

drag.onMouseUp=function(){

stopDrag();;

}

为什么每次都要建一个颜色对象.事先建好.不是省去很多冗余.而且那个按钮到了第一页和第五页后必须再按一下才会无效..这也算个BUG吧..一同修改过.效果如下: 我觉的这样的效果用时间轴动画实现更为简单.

http://www.flash8.net/bbs/UploadFile/2005-7/2005725171359792.swf

//初始化页面总数

pageNum = 5;

//初始化按钮

arrowPrev.enabled = false;

arrowNext.enabled = true;

borderColor = new Color(arrowPrev.border);

fillColor = new Color(arrowPrev.fill);

rgbset(borderColor, 0x999999, fillColor, 0xcccccc);

borderColornext = new Color(arrowNext.border);

fillColornext = new Color(arrowNext.fill);

//上一页按钮

arrowPrev.onRollOver = function() {

rgbset(borderColor, 0xff6600, fillColor, 0xFFEBD7);

};

arrowPrev.onRollOut = function() {

rgbset(borderColor, 0x339966, fillColor, 0xD2F0E1);

};

arrowPrev.onRelease = function() {

arrowNext.enabled = true;

rgbset(borderColornext, 0x339966, fillColornext, 0xD2F0E1);

if (currentPage>2) {

currentPage = parseInt(currentPage)-1;

} else {

currentPage = parseInt(currentPage)-1;

this.enabled = false;

rgbset(borderColor, 0x999999, fillColor, 0xcccccc);

}

};

//下一页按钮

arrowNext.onRollOver = function() {

rgbset(borderColornext, 0xff6600, fillColornext, 0xFFEBD7);

};

arrowNext.onRollOut = function() {

rgbset(borderColornext, 0x339966, fillColornext, 0xD2F0E1);

};

arrowNext.onRelease = function() {

arrowPrev.enabled = true;

rgbset(borderColor, 0x339966, fillColor, 0xD2F0E1);

if (currentPage<pageNum-1) {

currentPage = parseInt(currentPage)+1;

} else {

currentPage = parseInt(currentPage)+1;

this.enabled = false;

rgbset(borderColornext, 0x999999, fillColornext, 0xcccccc);

}

};

//拖动场景

drag.onMouseDown = function() {

if (this.hitTest(_xmouse, _ymouse, true)) {

startDrag(_root);

}

};

drag.onMouseUp = function() {

stopDrag();

};

function rgbset(rgbobj1, rgb1, rgbobj2, rgb2) {

rgbobj1.setRGB(rgb1);

rgbobj2.setRGB(rgb2);

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有