用于存储影片剪辑名称的 ActionScript 3.0 变量
ActionScript 3.0 Variable to Store MovieClip Name
我正在学习 Flash 和 ActionScript 3.0,这是一生一次的投资组合项目。这是一个相当大的学习曲线。目前,我一直在尝试弄清楚如何创建和调用具有我想要关注的动画片段名称的变量。
我的舞台上有两个项目。首先是一个动画片段 (Animation01),其中包含我要展示的主要内容。第二个是播放按钮 (BtnPlay) 和一个停止按钮 (BtnStop) 嵌套在动画片段 (MovPlayStop). Play/Stop 按钮允许用户控制是按照自己的节奏手动移动项目还是播放自动项目动画。
当用户点击播放按钮 (BtnPlay) 时,用户的选项存储在变量 (AutoPlay) 中主要时间线。然后播放位于主时间轴上的动画片段 (Animation01):
//Play Button Function
import flash.events.MouseEvent;
stop();
BtnPlay.addEventListener(MouseEvent.CLICK, PlayBtn);
function PlayBtn(event:MouseEvent):void{
MovieClip(root).AutoPlay = true;//Stores Autoplay value in the main timeline
MovieClip(this.parent).Animation01.play();//Plays the movieclip on the main timeline
gotoAndStop(2);//Switches the Play button to the Stop button
}
这适用于当前的影片剪辑。然而,我构建了我的项目,以便当动画片段 (Animation01) 结束时,它移动到主时间轴中的下一帧,该帧具有系列中的下一个动画片段 (动画02)。 Movieclip (Animation02) 完成,我们使用下一个 movieclip 移动到主时间轴中的下一帧......依此类推......我如何创建一个具有路径的变量我想关注的电影片段?基本上我想为这行代码创建一个变量:
MovieClip(this.parent).Animation01.play();
我尝试在主时间轴的帧开头创建以下内容:
//As a String
var cFrame:String = "MovieClip(root).Animation01";
//As a MovieClip... not enough examples to look at
var cFrame:MovieClip = MovieClip(root).Animation01;
然后通过播放按钮函数调用它:
//New variable from main timeline variable
var Animation:MovieClip = MovieClip(root).cFrame;
Animation.play();
//Main timeline variable in the script
MovieClip(this.parent).MovieClip(root).cFrame.play();
//New variable from main timeline variable
var Animation:String = MovieClip(root).cFrame;
Animation.play();
到目前为止运气不好...关于如何创建和调用这样的变量有什么想法吗?
我建议不要使用多帧,您应该只在需要时将影片剪辑加载和卸载到单个帧中。
var currentMovie = mc1; //the actual name of your movie clip, not the string version
function SwitchMovieFromButton(event:MouseEvent): void
{
currentMovie = (currentMovie == mc1) ? mc2 : mc1;
currentMovie.gotoAndPlay(1);
}
您可以执行类似的操作来在活动电影之间切换并先播放一个,然后再播放另一个。
我的按钮中的脚本是这样做的:
MovieClip(this.parent).Animation01.play();
我不想引用静态动画片段,而是想创建一个变量来替换静态动画片段。在主时间线上,我为当前的 Animation# 影片剪辑创建了一个名为 cFrame 的变量。每次新的动画片段出现在舞台中央时,值都会发生变化:
//Main Timeline
var cFrame:MovieClip = Animation01;
//Next Frame
cFrame = Animation02;
在播放按钮函数中,我只是这样调用了变量
//Play Button
MovieClip(this.parent).cFrame.play();
这是为我做的!
我遇到的主要问题是试图将 "MovieClip(this.parent)" 部分包含到主时间轴的 movieclip 变量中。我不完全理解亲子关系是如何运作的。还是有点懵。
我正在学习 Flash 和 ActionScript 3.0,这是一生一次的投资组合项目。这是一个相当大的学习曲线。目前,我一直在尝试弄清楚如何创建和调用具有我想要关注的动画片段名称的变量。
我的舞台上有两个项目。首先是一个动画片段 (Animation01),其中包含我要展示的主要内容。第二个是播放按钮 (BtnPlay) 和一个停止按钮 (BtnStop) 嵌套在动画片段 (MovPlayStop). Play/Stop 按钮允许用户控制是按照自己的节奏手动移动项目还是播放自动项目动画。
当用户点击播放按钮 (BtnPlay) 时,用户的选项存储在变量 (AutoPlay) 中主要时间线。然后播放位于主时间轴上的动画片段 (Animation01):
//Play Button Function
import flash.events.MouseEvent;
stop();
BtnPlay.addEventListener(MouseEvent.CLICK, PlayBtn);
function PlayBtn(event:MouseEvent):void{
MovieClip(root).AutoPlay = true;//Stores Autoplay value in the main timeline
MovieClip(this.parent).Animation01.play();//Plays the movieclip on the main timeline
gotoAndStop(2);//Switches the Play button to the Stop button
}
这适用于当前的影片剪辑。然而,我构建了我的项目,以便当动画片段 (Animation01) 结束时,它移动到主时间轴中的下一帧,该帧具有系列中的下一个动画片段 (动画02)。 Movieclip (Animation02) 完成,我们使用下一个 movieclip 移动到主时间轴中的下一帧......依此类推......我如何创建一个具有路径的变量我想关注的电影片段?基本上我想为这行代码创建一个变量:
MovieClip(this.parent).Animation01.play();
我尝试在主时间轴的帧开头创建以下内容:
//As a String
var cFrame:String = "MovieClip(root).Animation01";
//As a MovieClip... not enough examples to look at
var cFrame:MovieClip = MovieClip(root).Animation01;
然后通过播放按钮函数调用它:
//New variable from main timeline variable
var Animation:MovieClip = MovieClip(root).cFrame;
Animation.play();
//Main timeline variable in the script
MovieClip(this.parent).MovieClip(root).cFrame.play();
//New variable from main timeline variable
var Animation:String = MovieClip(root).cFrame;
Animation.play();
到目前为止运气不好...关于如何创建和调用这样的变量有什么想法吗?
我建议不要使用多帧,您应该只在需要时将影片剪辑加载和卸载到单个帧中。
var currentMovie = mc1; //the actual name of your movie clip, not the string version
function SwitchMovieFromButton(event:MouseEvent): void
{
currentMovie = (currentMovie == mc1) ? mc2 : mc1;
currentMovie.gotoAndPlay(1);
}
您可以执行类似的操作来在活动电影之间切换并先播放一个,然后再播放另一个。
我的按钮中的脚本是这样做的:
MovieClip(this.parent).Animation01.play();
我不想引用静态动画片段,而是想创建一个变量来替换静态动画片段。在主时间线上,我为当前的 Animation# 影片剪辑创建了一个名为 cFrame 的变量。每次新的动画片段出现在舞台中央时,值都会发生变化:
//Main Timeline
var cFrame:MovieClip = Animation01;
//Next Frame
cFrame = Animation02;
在播放按钮函数中,我只是这样调用了变量
//Play Button
MovieClip(this.parent).cFrame.play();
这是为我做的!
我遇到的主要问题是试图将 "MovieClip(this.parent)" 部分包含到主时间轴的 movieclip 变量中。我不完全理解亲子关系是如何运作的。还是有点懵。