我正在使用下面的代码更改翻转和卷展栏上的按钮颜色并单击。我有以下问题 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});
}
答案 0 :(得分:1)
我如何一直这样做是使用内置按钮而不是使用代码。 如果单击顶部栏中的窗口然后单击组件(靠近底部),则会显示一个小窗口,然后展开用户界面文件夹并从按钮项拖放。然后使用舞台上的那个按钮,如果你双击它,你将进入编辑符号屏幕,它将有按钮的每个状态的图片,如果你双击你想要的状态,那么你可以直观地编辑该版本的按钮。
希望这会有所帮助。
注意:我刚开始使用flash pro-cs5.5并且你的标签显示flash-cs5我不确定该功能是否可用于5。
答案 1 :(得分:0)
我对Tweenlite不熟悉,但我猜他在这种情况下所做的只是改变颜色,对吗?如果是这样,我建议在时间轴上创建颜色更改,并使用框架标签与gotoAndStop结合来创建不同的效果。这也应解决有关按钮单击一次后无效的问题。