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});

}
4

2 回答 2

1

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

希望这有帮助。

注意:我首先从 flash pro-cs5.5 开始,您的标签显示 flash-cs5 我不确定该功能在 5 中是否可用。

于 2013-09-28T23:51:21.893 回答
0

我不熟悉 Tweenlite,但我猜它在这种情况下所做的只是改变颜色,对吗?如果是这样,我建议在您的时间轴上创建颜色更改,并使用结合 gotoAndStop 的 framelabels 来创建不同的效果。这也应该可以解决您在单击一次后按钮不起作用的问题。

于 2013-09-29T15:12:07.453 回答