Actionscript 3 编写';如果';ActionScript中的语句

Actionscript 3 编写';如果';ActionScript中的语句,actionscript-3,if-statement,movieclip,flash-cs6,Actionscript 3,If Statement,Movieclip,Flash Cs6,是否有一种编写包含以下内容的if语句的方法 if (MovieClip1 reaches last frame) { addChild(MovieClip2) removeChild(MovieClip1) } 基本上,我想要发生的就是当我的电影剪辑结束时,它会变成另一个电影剪辑或图像。我知道这可能很简单,但我该怎么做呢?所有代码都是通过命令运行的。因此,您的条件将立即运行,不再运行 相反,您使用事件。将侦听器附加到事件,当该事件触发时(被“调度”以使用正确的词汇表),将再次调

是否有一种编写包含以下内容的
if
语句的方法

if (MovieClip1 reaches last frame)
{
    addChild(MovieClip2)
    removeChild(MovieClip1)
}

基本上,我想要发生的就是当我的电影剪辑结束时,它会变成另一个电影剪辑或图像。我知道这可能很简单,但我该怎么做呢?

所有代码都是通过命令运行的。因此,您的条件将立即运行,不再运行

相反,您使用事件。将侦听器附加到事件,当该事件触发时(被“调度”以使用正确的词汇表),将再次调用代码

var movieClip:MovieClip = new MovieClip();
movieClip.addEventLister( Event.ENTER_FRAME, this.enterFrameHandler ); //will be called on every frame enter

function enterFrameHandler( e:Event ):void {
    if ( movieClip.currentFrame == movieClip.totalFrames ) {
        // do something
    }
}
因此,您监听每个新帧,并在该处理程序中检查它是否是最后一帧


作为一个额外的技巧,AS3的标准命名约定是对所有对象使用小写的camelcase(这是一个例子)。包名应该全部用小写,只有类名应该大写。

这看起来很有希望:)我会尽快尝试,如果有效,我会将其标记为正确。谢谢:)好吧,我试过了,我认为你写的是对的,但我做的是错的?这就是我写的:您需要学习如何使用访问修饰符(public、private、protected、internal、final、static)。我几乎可以保证这就是问题所在。如果您使用的是类,则在函数外部定义的每个函数和变量都必须具有访问修饰符。此外,不应在函数外部实例化任何非常量/非基本数据类型对象。除此之外,您肯定应该阅读基本OOP(特别是语法和范围),因为您似乎对它没有很好的理解。我将对此进行研究。输出面板的内容大致如下:display对象必须是调用者的子对象。
package
{
    import flash.display.MovieClip;
    import flash.events.KeyboardEvent;
    import flash.events.Event;

    public class Main extends MovieClip
    {
        var firstScene:FirstScene = new FirstScene;
        var movement:Movement = new Movement;
        var green:Green = new Green;

        public function Main()
        {
            addChild(firstScene);

            firstScene.addEventListener(KeyboardEvent.KEY_DOWN, mClick);
            movement.addEventListener(Event.ENTER_FRAME, endChange);
        }
        function mClick(event:KeyboardEvent):void
        {
            if (event.keyCode == 77);
            {
                addChild(movement);
                removeChild(firstScene);
            }
        }
        function endChange(event:Event):void
        {
            if (movement.currentFrame == movement.totalFrames)
            {
                addChild(green);
                removeChild(movement);
            }
        }
    }
}