动画片段内的按钮会根据帧而改变

时间:2014-03-17 18:12:27

标签: actionscript-3 flash

我正在制作法国的动态地图,从罗马时代到2014年,我遇到了问题。 我的大多数界面都在工作,除了一个在主动画片段中需要大量mc的功能。 我无法发布图片,所以我会尝试解释我的所作所为。

我有一个主要的动画片段(" france_map")。在它里面,我有几个层,包括一个名为"统治者"。在这一层,我有法国每位国王/总统的时间表。 我们将重点关注其中两个:萨科齐(2007年框架到2012年框架)和奥朗德(2013年框架到2014年框架)。 mc" sarkozy"只能在2007年到2012年之间访问。在2013年,它会消失,取而代之的是mc" hollande"。 当我从root上点击其中一个时,会打开一个有关的传记。 这要归功于代码:

france_map.sarkozy_btn.addEventListener(MouseEvent.CLICK, fl_sarkozy_btn);
function fl_sarkozy_btn(MouseEvent: Event): void {
sarkozy.visible = true;
close_fiches_btn.visible = true;
close_arbre_btn.visible = false;
sarkozy_txt.visible = true;
};

france_map.hollande_btn.addEventListener(MouseEvent.CLICK, fl_hollande_btn);
function fl_hollande_btn(MouseEvent: Event): void {
hollande.visible = true;
close_fiches_btn.visible = true;
close_arbre_btn.visible = false;
hollande_txt.visible = true;
};

但是,我有两个按钮用于浏览时间轴(由该代码控制:

/* Avancer ou Reculer d'un an */

flecheg_sym.addEventListener(MouseEvent.CLICK, fl_gotoprev);
function fl_gotoprev(MouseEvent: Event): void {
for each(var item: MovieClip in maps) {
    if (item.currentFrame > 0) {
        item.prevFrame();

    } else {
        item.nextFrame();

    }
  }


fleched_sym.addEventListener(MouseEvent.CLICK, fl_gotonext);
function fl_gotonext(MouseEvent: Event): void {
for each(var item: MovieClip in maps) {
    if (item.currentFrame > 0) {
        item.nextFrame();
    } else {
        item.prevFrame();
    }
   }
}

当我使用这些按钮时,所有时间轴一起移动。有用。 我的问题是: 当我到达2013年框架时(" sarkozy"消失," hollande"出现),新按钮(" hollande")不起作用。当我回到2012年(" hollande"消失," sarkozy"出现)," sarkozy"不再工作了。 我不明白这个问题(我在as3和flash上​​相当新)。 如果我不够清洁(英语不是我的第一语言),请告诉我,我会尝试解释更多。 谢谢你的帮助。 病毒Jeryl

1 个答案:

答案 0 :(得分:0)

  

当我回到2012年时," sarkozy"不再工作

如果您想使用MovieClip作为导航仪器,您应该掌握它。当您从包含新资产和逻辑的当前关键帧返回时,我假设前一帧不是具有侦听器和逻辑的关键帧,您将看到没有任何绑定脚本的图形。简而言之,重新分配你的听众的按钮,使用常量的动画片段名称,适当地设计你的时间表,一切都好。