即使鼠标未在面板上,滚动菜单面板也会滚动 - 因此舞台上的其他内容也会滚动

时间:2009-01-12 14:53:33

标签: flash actionscript-3

我无法限制此代码仅滚动front_mc和back_mc,在front_mc中是嵌套按钮,可以在点击时显示内容 - 但鼠标移动会一直被捕获,因此菜单的内容也会得到移动鼠标时滚动。请帮助我们,我不适合处理它。

root.addEventListener(MouseEvent.MOUSE_MOVE,f);

var t:Timer = new Timer(40,0); t.addEventListener(TimerEvent.TIMER,moveF); function f(e:MouseEvent){     t.stop();     t.start(); } var speed:Number = .9;

function moveF(e:TimerEvent){     front_mc.x = speed front_mc.x +(1-speed)(stage.stageWidth-front_mc.width) root.mouseX / stage.stageWidth;     back_mc.x = speed back_mc.x +(1-speed)*(stage.stageWidth-back_mc.width)* root.mouseX / stage.stageWidth;     if(Math.abs(front_mc.x-(stage.stageWidth-front_mc.width)* root.mouseX / stage.stageWidth)< 1&& Math.abs(back_mc.x-(stage.stageWidth-back_mc。 width)* root.mouseX / stage.stageWidth)< 1){         front_mc.x =(stage.stageWidth-front_mc.width)* root.mouseX / stage.stageWidth;         back_mc.x =(stage.stageWidth-back_mc.width)* root.mouseX / stage.stageWidth;         t.stop();

}
e.updateAfterEvent();

}

3 个答案:

答案 0 :(得分:0)

不幸的是,它没有改变行为:(但非常感谢你的提示

它的作用&应该做: 如果mousesY为90和250(其按钮行长于舞台),则此front_mc将水平滚动菜单,按钮及其公共时间轴将嵌套在front_mc中的menu_mc中。

如果我在菜单上向侧面移动并向左/向右滚动&我按了一个按钮来绘制内容,但当我回到菜单并滚动时,绘制的内容也是如此,类似于菜单(同步)。 我一定是把它组织错了。

front_mc.addEventListener(的MouseEvent.MOUSE_MOVE,F); var t:Timer = new Timer(30,0); t.addEventListener(TimerEvent.TIMER,moveF);

function f(e:MouseEvent){ if(root.mouseY> 90&& root.mouseY< 250){ t.start(); } 其他{ t.stop(); } } var speed:Number = .9; function moveF(e:TimerEvent){ front_mc.x = speed front_mc.x +(1-speed)(stage.stageWidth-front_mc.width) root.mouseX / stage.stageWidth; back_mc.x = speed back_mc.x +(1-speed)*(stage.stageWidth-back_mc.width)* root.mouseX / stage.stageWidth; if(Math.abs(front_mc.x-(stage.stageWidth-front_mc.width)* root.mouseX / stage.stageWidth)< 1&& Math.abs(back_mc.x-(stage.stageWidth-back_mc。 width)* root.mouseX / stage.stageWidth)< 1){ front_mc.x =(stage.stageWidth-front_mc.width)* root.mouseX / stage.stageWidth; back_mc.x =(stage.stageWidth-back_mc.width)* root.mouseX / stage.stageWidth; t.stop();

} e.updateAfterEvent(); }

答案 1 :(得分:0)

<强>解决。

自_root.gotoAndStop();来自AS1-2的删除,是Actionscript3 AS3中引用的最简单方法,例如mc中用于调用内容到舞台的按钮是

的MovieClip(根).gotoAndStop( “标记1”);

我以为我在主时间轴MTL上没有Movieclip,但它确实有效,将它设置为嵌套按钮的动作,你没有惊喜:就像我的情况一样

我在MTL上的mc中嵌套了滚动菜单(front_mc),并在mainstage上调用了内容,而没有被我移动的front_mc劫持

答案 2 :(得分:0)

你使用太多的单词和代码。您可以添加简单的if(hitTest)异常。