在上层开始一个影片剪辑。还是变量问题?
Starting a movie clip on an upper level. Or variable issue?
我在嵌套实例中使用 ENTER_FRAME
事件触发顶层实例(场景 1)的 gotoAndPlay()
时遇到问题。
在主时间线上我有两个 MovieClips:neuron1_mc
和 fiber_mc
。
在 fiber_mc
的第 2 帧上,我有一个名为 "flex" 的帧标签。在 neuron1_mc
中有一个名为 elec_mc
.
的实例
在 elec_mc
的最后一帧 - 在动作层中,我有以下代码:
addEventListener(Event.ENTER_FRAME, muscleTwitch);
function muscleTwitch(event:Event): void
{
fiber_mc.gotoAndPlay("flex");
removeEventListener(Event.ENTER_FRAME, muscleTwitch);
}
在过去的几天里,我针对不同的事情使用了它几次,它运行良好,但每次我使用它时,它都在那个时间轴内播放一个实例。现在我试图让帧事件触发一些更高级别的东西 - 所以 Flash 不知道 "flex" 在哪里(或什么),因为我没有告诉它 fiber_mc
在哪里。
正如您所见,我缺乏经验。我比我的技能更准确地理解我想要什么。
对于这种特定情况的任何帮助都很棒,对于这种情况的一般建议也很好。
谢谢!
您的问题是范围问题(您似乎已经猜到了)。
elec_mc
的范围内没有名为 fiber_mc
的项目,因此您可能收到关于空对象引用的 #1009 错误。
根据您所显示的内容,您似乎需要执行以下操作之一才能获得对 fiber_mc
.
的引用
爬取亲子关系,直到找到两个对象的共同父对象 fiber_mc & elec_mc.
//the first parent is neuron1_mc, and it's parent is the main timeline, to which fiber_mc is a child
parent.parent.fiber_mc.gotoAndPlay("flex");
//though to avoid a compiler warning you may need to cast the parents:
MovieClip(MovieClip(parent).parent).fiber_mc.gotoAndPlay("flex");
//casting is just telling the compiler explicitly what kind of object something is
使用 root
关键字,这是对主要时间线的引用。
MovieClip(root).fiber_mc.gotoAndPlay("flex");
我在嵌套实例中使用 ENTER_FRAME
事件触发顶层实例(场景 1)的 gotoAndPlay()
时遇到问题。
在主时间线上我有两个 MovieClips:neuron1_mc
和 fiber_mc
。
在 fiber_mc
的第 2 帧上,我有一个名为 "flex" 的帧标签。在 neuron1_mc
中有一个名为 elec_mc
.
在 elec_mc
的最后一帧 - 在动作层中,我有以下代码:
addEventListener(Event.ENTER_FRAME, muscleTwitch);
function muscleTwitch(event:Event): void
{
fiber_mc.gotoAndPlay("flex");
removeEventListener(Event.ENTER_FRAME, muscleTwitch);
}
在过去的几天里,我针对不同的事情使用了它几次,它运行良好,但每次我使用它时,它都在那个时间轴内播放一个实例。现在我试图让帧事件触发一些更高级别的东西 - 所以 Flash 不知道 "flex" 在哪里(或什么),因为我没有告诉它 fiber_mc
在哪里。
正如您所见,我缺乏经验。我比我的技能更准确地理解我想要什么。
对于这种特定情况的任何帮助都很棒,对于这种情况的一般建议也很好。
谢谢!
您的问题是范围问题(您似乎已经猜到了)。
elec_mc
的范围内没有名为 fiber_mc
的项目,因此您可能收到关于空对象引用的 #1009 错误。
根据您所显示的内容,您似乎需要执行以下操作之一才能获得对 fiber_mc
.
爬取亲子关系,直到找到两个对象的共同父对象 fiber_mc & elec_mc.
//the first parent is neuron1_mc, and it's parent is the main timeline, to which fiber_mc is a child parent.parent.fiber_mc.gotoAndPlay("flex"); //though to avoid a compiler warning you may need to cast the parents: MovieClip(MovieClip(parent).parent).fiber_mc.gotoAndPlay("flex"); //casting is just telling the compiler explicitly what kind of object something is
使用
root
关键字,这是对主要时间线的引用。MovieClip(root).fiber_mc.gotoAndPlay("flex");