当我转到第二帧时,电影剪辑从第一帧的位置继续,而不是在我放的位置



我在第1帧有两层(动作和电影剪辑),在电影剪辑层有两个电影剪辑,A和B。x=100并且正在移动到x=0的A。当B击中A时,转到第2帧。在第2帧,我有相同的东西(我复制并粘贴帧)。所以,问题是当B击中A时,我跳到第二帧,但B从x=0开始,而不是从100开始。如果我剪切B并将其复制到一个新的层,它的工作正常。它从x=100开始。那么,我必须在每帧创建一个新层吗?

所以,问题是当B击中A时,我跳到第二帧,但B从x=0而不是从100继续…我必须每帧创建一个新层吗?

不可以,当您转到第2帧时,您可以为B编码一个新位置。

if (mcB hits mcA)
{
    gotoAndStop(2); //# go to frame 2
    mcA.x = 200; //# set new position for A
    mcB.x = 100; //# set new position for B
}

快速提示:您的问题可以通过以下两层来解决:

  • 第1层是动作(代码)
  • 第2层为容器(MovieClip与舞台区域大小相同)

剪切&将所有非代码帧粘贴到容器中,让我们称之为实例名ContMC。现在,您的所有代码都只在第1帧上,所有受控制的内容(MC等)也都在ContMC内,这也只在第2帧上。不需要额外的帧复制。此外,由于您有2层,因此总共只有2帧。像舞台一样使用ContMC(不移动实际舞台)。那么现在你想用不同的背景显示第2帧吗?使用ContMC.gotoAndStop(2);,或者您想重新定位mcB,然后使用ContMC.mcB.x = 150;

最新更新