好的,我有一个页面,上面有4个按钮。每个按钮都是一个单独的电影文件,包含三个帧:向上(1)帧、超过(2)帧和向下(3)帧。我想要做的是,当你在按钮上按一下,它就会亮起来(显示上方的框架),当你点击它时,它会展开(显示向下的框架)并粘住,所以当你移动鼠标时,向下的框架仍然会显示,但是如果你再次点击按钮,它应该会回到向上的状态。我目前有以下代码:
int1btn.stop();
int1btn.addEventListener(MouseEvent.MOUSE_DOWN, onBtnPress);
int1btn.addEventListener(MouseEvent.MOUSE_OVER, onBtnOver);
int1btn.addEventListener(MouseEvent.MOUSE_OUT, onBtnOut);
function onBtnPress(event:MouseEvent):void
{
int1btn.gotoAndStop(3);
}
function onBtnOver(event:MouseEvent):void
{
if (int1btn.currentFrame != 3)
{
int1btn.gotoAndStop(2);
}
}
function onBtnOut(event:MouseEvent):void
{
if (int1btn.currentFrame != 1)
{
int1btn.gotoAndStop(1);
}
} 这段代码做了我想做的所有事情,除了最后一部分。它现在的工作方式是,当我悬停向上和超过帧只是很好地交替,当我点击,向下框架显示,但当我MOUSEOUT向下帧离开而不是坚持。我希望那个向下的框架保持不变,直到我再次点击按钮。更好的是,如果向下框架显示,直到我点击另一个按钮。我在另一个网站上找到了这个代码,并且一直在修改它,我对代码一点也不了解,我正在为工作而构建这个代码,它限制了对有用站点和视频的互联网访问。请帮帮我!
发布于 2014-07-29 17:44:18
在您的onBtnOut处理程序上,没有条件阻止它回到它的up状态,如果它已经关闭了。您必须添加另一个条件,强制它不是处于向上状态,也不是处于向下状态,或者只需将现有条件更改为检查它是否处于过载状态。
这里:您可以根据需要使用:
function onBtnOut(event:MouseEvent):void{
if (int1btn.currentFrame == 2){
int1btn.gotoAndStop(1);
}
}或者你可以使用:
function onBtnOut(event:MouseEvent):void{
if (int1btn.currentFrame != 1 && int1btn.currentFrame != 2){
int1btn.gotoAndStop(1);
}
}https://stackoverflow.com/questions/25021562
复制相似问题