我刚刚在Flash中完成了一项小型学校任务,我想知道将一些动作脚本放在场景中以及其他动画片段中的原因。
信息:我正在使用Flash CS3和ActionScript 2。
我在这里上传了这个文件,供有意查看的人使用:http://www.mediafire.com/download.php?2z2mivtmokg
现在,我在影片剪辑中完成了所有动作脚本,我想知道,当我尝试从场景中执行此操作时,为什么它不起作用? 假设我从剪辑中的Actions层获取所有代码,复制它,删除该层,转到场景,make和Actions层,然后通过代码,为什么它不起作用?
我尝试将circle_mc(我的剪辑名称)添加到代码中,但无济于事......
有人可以帮助我吗?试图使它不会出现在影片剪辑中的代码,因为我认为那是我原来的作业。
进一步深入研究:我应该如何决定哪些代码进入场景以及哪些代码进入影片剪辑?
答案 0 :(得分:1)
如果你在一个动画片段内,你可以使用“this.something”,它会引用你正在使用的动画片段...即:“circle_mc”,但是如果你转到根时间轴并创建一个动作层你不能再使用“this”,你必须引用movieclip名称。因此,如果您在根时间轴上创建了一个名为actions的新图层,则可以粘贴此代码并且它仍然有效(删除旧代码,也在mc内部):
var stoppedOn = 2;
circle_mc.onPress = function()
{
circle_mc.startDrag();
}
circle_mc.onRelease = function()
{
circle_mc.stopDrag();
}
circle_mc.onRollOver = function()
{
circle_mc.gotoAndPlay(stoppedOn);
}
circle_mc.onRollOut = function()
{
circle_mc.stop();
stoppedOn = circle_mc._currentframe;
}
如果您将所有代码放在根时间轴上,我个人认为您的代码更易于维护。它还可以帮助您准备好使用Classes。我还建议你在业余时间学习AS3,因为它真的是要走的路。