可以控制Scrollpane组件中的Movie Clip的帧吗?

时间:2011-09-22 05:25:12

标签: flash actionscript-3

有没有办法控制滚动窗格组件中的动画片段的帧?

在我的舞台上,我有四个按钮设置。

我有以下动作但是收到错误。

import flash.events.MouseEvent;

scrollPane.source = pm_mc;
scrollPane.setSize(975, 500);
scrollPane.scrollDrag = true;

start_but.addEventListener(MouseEvent.CLICK, start);
function start(e:MouseEvent):void
{
    scrollPane.pm_mc.gotoAndStop(1);
}

previous_but.addEventListener(MouseEvent.CLICK, previous);
function previous(e:MouseEvent):void
{
    scrollPane.pm_mc.prevFrame();
}

next_but.addEventListener(MouseEvent.CLICK, next);
function next(e:MouseEvent):void
{
    scrollPane.pm_mc.nextFrame();
}

end_but.addEventListener(MouseEvent.CLICK, end);
function end(e:MouseEvent):void
{
    scrollPane.pm_mc.gotoAndStop(31);
}

stop();

我得到的错误都是一样的: 通过静态类型fl.containers的引用访问可能未定义的属性pm_mc:ScrollPane

我还在学习AS3。

提前感谢您的回复。

2 个答案:

答案 0 :(得分:0)

您需要将影片剪辑称为:

scrollPane.source.gotoAndStop(1);

所以在你的代码中:
scrollPane.pm_mc替换为scrollPane.source

<强>更新
我想我明白你现在想做什么。您的库中有一个符号(不在您的舞台上),您想要创建它的实例并将其添加到scrollPane。如果我是对的,请试试这个。

import flash.events.MouseEvent;

scrollPane.source = new pm_mc();
scrollPane.setSize(975, 500);
scrollPane.scrollDrag = true;

start_but.addEventListener(MouseEvent.CLICK, start);
function start(e:MouseEvent):void
{
    scrollPane.source.gotoAndStop(1);
}

previous_but.addEventListener(MouseEvent.CLICK, previous);
function previous(e:MouseEvent):void
{
    scrollPane.source.prevFrame();
}

next_but.addEventListener(MouseEvent.CLICK, next);
function next(e:MouseEvent):void
{
    scrollPane.source.nextFrame();
}

end_but.addEventListener(MouseEvent.CLICK, end);
function end(e:MouseEvent):void
{
    scrollPane.source.gotoAndStop(31);
}

stop();

请注意new pm_mc()。它创建了一个库符号实例(一个MovieClip)。

您也可以像这样参考scrollPane内容

((MovieClip)(scrollPane.content)).nextFrame();

contentsource都应该适用于您的目的。

答案 1 :(得分:0)

您收到错误是因为您正在以错误的方式从scrollPane获取movieclip。检查以下代码。

start_but.addEventListener(MouseEvent.CLICK, start);
function start(e:MouseEvent):void
{
    (Object(scrollPane.content)).gotoAndStop(1);
}

我希望它会起作用...............