0

我正在构建一个 Flash 游戏,我正在这样做:

MainStage,11 帧 Mainstage 负载 > Lobby.swf(1 帧) Lobby Loads > Arrows.swf(1 帧)

我只想从 Arrows.swf 控制主舞台,获取当前帧,右箭头 mainStage.current frame + 1,左箭头 mainStage.current frame -1

我已经尝试过父/子方法

this.parent.parent
parent.parent
this.root
parent.root

每个组合,我也在跟踪,当我最终点击 mainStage 时,它​​说不能将 Stage 转换为我理解的显示对象。

但我怎样才能获得“主舞台”针的当前帧并使用 gotoAndPlay 或其他此类方法控制它?

4

1 回答 1

0

我已经解决了。

我没有控制主舞台我所做的是,我在加载左右箭头时减少了大厅层中的主舞台层我为自定义事件附加了一个事件监听器。

在箭头电影中,我编写了一个函数来调度事件,这里是我使用的代码行

在您要控制的电影的“主要”阶段:

//ball loader prep and load
var ballLoader:Loader = new Loader();
var ballRequest:URLRequest = new URLRequest("lobbyBalls.swf");
ballLoader.load(ballRequest);
ballLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, ballsLoaded);

function ballsLoaded(event:Event):void{
    trace("ball Loader complete");
    ballLoader.x = 50;
    ballLoader.y = 200;
    stage.addChild(ballLoader);
    ballLoader.content.addEventListener("Previous", ctrlPrevFrame);
    ballLoader.content.addEventListener("Next", ctrlNextFrame);
}

在您要控制的电影中

import flash.events.Event;

leftArrow.addEventListener(MouseEvent.CLICK, prevEvent);
rightArrow.addEventListener(MouseEvent.CLICK, nextEvent);

function prevEvent(event:Event):void{
    trace("prev");
    dispatchEvent(new Event("Previous", true));
}

function nextEvent(event:Event):void{
    trace("next");
    dispatchEvent(new Event("Next", true));
}

不管怎么说,多谢拉....

于 2013-07-14T09:15:34.610 回答