快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

Disabled按钮的制作方式

  效果浏览:

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

« Full Screen »

点击这里下载源文件

  在一些特定应用中,我们需要用到按钮的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

« Full Screen »



//初始化页面总数
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);
}



返回类别: Flash教程
上一教程: 完全把握AS中点(.)语法的应用
下一教程: flash 基础知识

您可以阅读与"Disabled按钮的制作方式"相关的教程:
· 动态MC按钮的制作教程
· Flash中震惊按钮的制作
· 二合一按钮的制作
· 较酷的导航按钮的制作
· Flash MX 2004 模仿出打字效果的制作方式
    微笑服务 优质保证 索取样品