2013-09-28 121 views
1

我正在使用代码波纹更改滚动和卷展栏上的按钮颜色并单击。我在这个 中有以下问题1.点击按钮时颜色没有改变。 2.按钮一旦点击后不会工作。滚动和滚动按钮效果

pages.gotoAndStop("home"); 


// list of button instance names 
var previousClicked:DisplayObject; 
var buttonsss:Array = [home, menudown.about, menudown.portfolio, menudown.clients,  menudown.pricing, menudown.contact]; 


for each (var mc:MovieClip in buttonsss) 
{ 
mc.buttonMode = true; 
mc.mouseChildren = false; 
mc.addEventListener(MouseEvent.MOUSE_UP, onClick); 
mc.addEventListener(MouseEvent.ROLL_OVER, rolloverEffect); 
mc.addEventListener(MouseEvent.ROLL_OUT, rolloutEffect); 

} 


function onClick(e:MouseEvent):void 
{ 

pages.gotoAndStop(e.target.name); 
e.currentTarget.mouseEnabled = false; 
TweenLite.to(e.currentTarget,2,{tint:0x666666, ease:Strong.easeOut}); 
TweenLite.to(previousClicked,2,{tint:null , ease:Strong.easeOut});// set the  previous clicked to null tint 
previousClicked.addEventListener(MouseEvent.ROLL_OUT, rolloutEffect);// restore the Roll_Over effect 
previousClicked = DisplayObject(e.target); // update the last clicked button 
e.target.removeEventListener(MouseEvent.ROLL_OUT, rolloutEffect); 

} 

function rolloverEffect(e:MouseEvent):void{ 

TweenLite.to(e.currentTarget,2,{tint:0x666666, ease:Strong.easeOut}); 

} 
function rolloutEffect(e:MouseEvent):void{ 

//should change tint to null just when its enabled, but its changing always  (enabled or disabled) 
TweenLite.to(e.currentTarget,2,{tint:null , ease:Strong.easeOut}); 

} 

回答

1

我总是这样做是用内置按钮而不是用代码来完成的。 如果您单击顶部栏中的窗口,然后单击组件(靠近底部),它将弹出一个小窗口,然后展开用户界面文件夹并从按钮项目拖放。然后用舞台上的那个按钮,如果你双击它,你将进入编辑符号屏幕,它会有每个状态的图片,按钮,如果你双击你想要的状态,那么你可以直观地编辑该版本的按钮。

希望这有助于。

注:我第一次开始使用闪光灯亲CS5.5和你的标签说闪光CS5我不知道能肯定该功能是否可用在5

0

我不熟悉TweenLite的,但我猜猜它在这种情况下所做的只是改变颜色,对吗?如果是这样,我会建议在你的时间线上创建颜色变化,并使用与gotoAndStop结合的帧标签来创建不同的效果。这也应该可以解决你点击一次后按钮不工作的问题。