我在Flash中使用现成的Accordion Panel(这里)
现在当我在这个框架上添加任何按钮时,当我点击Accordion标签时会出现此错误:
TypeError:错误#1034:类型强制失败:无法转换 flash.display :: SimpleButton @ 48596ab9 to flash.display.MovieClip。
当我将movieclip添加到舞台时,我在点击任何Accordion面板后立即收到此错误:
TypeError:错误#1010:术语未定义且没有属性 在mobver2_fla :: MainTimeline / onClick()
这是Accordion面板的主要脚本:
import gs.*;
import gs.easing.*;
panel1.props = {ly:53, ry:650, ind:1};
panel2.props = {ly:115, ry:700, ind:2};
panel3.props = {ly:169, ry:750, ind:3};
panel1.addEventListener(MouseEvent.CLICK, onClick);
panel2.addEventListener(MouseEvent.CLICK, onClick);
panel3.addEventListener(MouseEvent.CLICK, onClick);
function onClick(e:MouseEvent):void
{
var clicked:MovieClip = MovieClip(e.target);
for(var i:int=0; i<numChildren; i++)
{
var mc:MovieClip = MovieClip(getChildAt(i));
if(mc.props.ind <= clicked.props.ind)
TweenLite.to(mc, 1, {y:mc.props.ly, ease:Bounce.easeOut});
else
TweenLite.to(mc, 1, {y:mc.props.ry, ease:Bounce.easeOut});
}
}
看起来这个脚本会对Frame中的所有movieclip或按钮产生影响,但我无法弄清楚我必须如何将其他按钮和动画片段分开。我真的需要为这些面板和框架添加一些按钮和影片剪辑
答案 0 :(得分:0)
错误说明了一切 - 你试图将一个按钮投射到一个MovieClip,而SimpleButton是不一个MovieClip。
这与手风琴无关。
您需要更改此行:
var clicked:MovieClip = MovieClip(e.target);
开始使用调试器和跟踪来查看您实际在做什么。另外 - 启用许可调试以查看错误在哪一行。
我们无法帮助你每次做错事,因为这不是一个常见问题,也不是面向模式,这只是你的一个简单错误。