我正在开发一个Flash项目,其中所有代码都在外部Document.as文件中。
如何设置在加载其他MovieClip之前运行并完成的介绍MovieClip?现在发生的事情是剪辑加载Document类中的所有其他内容(内容,UI等)。我想要介绍剪辑运行,停止然后继续将文档中的其余代码。
我尝试在剪辑上使用stop
方法,但似乎什么也没做,只需将MovieClip放入播放循环中。
感谢。
答案 0 :(得分:1)
在您的文档类中,您可以访问可在时间轴的第一帧中找到的任何MovieClip。 例如,放置在第一帧中的实例名称为“myClip”的动画片段,您可以使用以下代码访问它:
package
{
import flash.events.Event;
import flash.display.MovieClip;
public class Document extends MovieClip
{
public var myClip:MovieClip;
public function Document()
{
addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event) : void
{
myClip.stop();
}
}
}
另一方面,您可以从闪存中的时间轴访问文档类范围。调用你定义的公共函数Document“functionAtDocument”看起来像这样:
Document(this).functionAtDocument();
Document类中的代码:
package
{
import flash.display.MovieClip;
public class Document extends MovieClip
{
// ... missing some code
public function tracer():void
{
trace ('call from flash timeline');
}
}
}
考虑到这一点,我可以前后移动,从时间线向课堂发送值,并操纵任何生活在那里的动画片段。
答案 1 :(得分:1)
您可以使用停止操作定位介绍MovieClip。但我会建议这样的事情:
class documentOfFLa extends Sprite {
public var introMC:MovieClip; // the introduction animation
public var restOfAnimation:MovieClip; // whatever is after the intro
function documentOfFLa() { // constructor
introMC.play();
restOfAnimation.stop();
}
public function continueParent():void { // call this at end of intro
restOfAnimation.play();
introMC.stop();
removeChild(introMC);
}
}
...在介绍动画结束时,在时间轴上调用类似的内容:
this.parent["continueParent"]();
我知道这是黑客攻击,但实施起来会很快。然后你可以清理它......