Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash AS3 MovieClip代码未运行_Flash_Actionscript 3_Movieclip - Fatal编程技术网

Flash AS3 MovieClip代码未运行

Flash AS3 MovieClip代码未运行,flash,actionscript-3,movieclip,Flash,Actionscript 3,Movieclip,我已经做了一百万次了,但由于某种原因,它现在不起作用了 我用3个不同的关键帧制作了一个电线的MovieClip,每个关键帧之间有几帧。前两个关键帧都有一个位图,每个位图中有一个不同的图片,我希望它在这两个关键帧之间循环,使它看起来像是电在移动,而不是仅仅坐在那里。第三个关键帧什么都没有,最终我会在断电的情况下放置一个图像,这样玩家就可以走过去,我只是还没有完成。因为我不想让它在播放器关闭前运行最后一个关键帧,所以我放了一个gotoAndPlay;第二帧后的电影剪辑中的命令将其循环回第一帧,问题是

我已经做了一百万次了,但由于某种原因,它现在不起作用了

我用3个不同的关键帧制作了一个电线的MovieClip,每个关键帧之间有几帧。前两个关键帧都有一个位图,每个位图中有一个不同的图片,我希望它在这两个关键帧之间循环,使它看起来像是电在移动,而不是仅仅坐在那里。第三个关键帧什么都没有,最终我会在断电的情况下放置一个图像,这样玩家就可以走过去,我只是还没有完成。因为我不想让它在播放器关闭前运行最后一个关键帧,所以我放了一个gotoAndPlay;第二帧后的电影剪辑中的命令将其循环回第一帧,问题是,该行拒绝工作。我已经从它工作的其他程序复制并粘贴了它,我已经检查了帧名称,我在那里放了其他行,比如stop;查出和其他东西,但无法在MovieClip中使用任何代码行。可能有一些东西像图层是不可见的,代码不会运行,但我不知道它是什么。我删除了符号,重新开始,同样的问题。我重新启动了Flash,同样的问题。我重新启动了电脑,同样的问题。我甚至把它带到另一台电脑上,同样的问题。我不知道为什么它不会运行这个代码,是不是有什么我忽略了禁用它的东西?我在电影剪辑之外的主时间线中有其他代码,在其他电影剪辑中也有代码,这些代码一直运行良好,并且继续运行良好,我不知道问题出在哪里

我忽略了这个问题一段时间,然后做了其他的事情,但是我不得不在一个现有的电影剪辑中添加多个帧,我相信这是在另一个之前创建的,现在这个电影剪辑也有同样的问题。在它蔓延到其他地方之前,有人知道如何解决这个问题吗

我会发布一些代码,但考虑到我只需要写一两行代码,我真的可以在这里复制并粘贴电影剪辑


提前感谢您的帮助。

非常奇怪,不过您可以将此作为MovieClip的基类,它应该会很有用:

package
{
    import flash.display.MovieClip;
    import flash.events.Event;

    public class Elec extends MovieClip
    {
        // vars
        private var _prevFrame:uint = 1;

        /**
         * Constructor
         */
        public function Elec()
        {
            addEventListener(Event.ENTER_FRAME, _handle);
        }

        /**
         * Event.ENTER_FRAME
         */
        private function _handle(e:Event):void
        {
            if(_prevFrame == 2) gotoAndPlay(1);

            _prevFrame = currentFrame;
        }
    }
}

尝试一些简单的调试并告诉我发生了什么。ie将tracecurrentFrame放在MovieClip中的每个帧上,看看是否有任何输出。什么都没有。它不输出任何东西,不管我是输入currentFrame还是ahfboaidnbah。它什么也干不了,真奇怪。我会用一个我会用到的解决方案来回答这个问题,但是对于这么简单的事情来说,它是相当沉重的。有没有可能你会发布一份关于这个核心问题的fla?我知道答案解决了这个问题,但如果能得出错误的结论就好了。另外,你是否在代码anwhere中引用了movieclip实例,除了它自己在movieclip中的时间线之外?这是项目的最后阶段,我认为.fla现在是10MB,仅仅解释到哪里去看这个问题会降低这个站点上的另一个问题。我真的不知道是什么导致了这个问题,只是他的迂回方式起了作用,我真的无法解释问题的来源。当问题出现时,电影剪辑并没有在主时间线中直接引用。我只是把它拖到屏幕上,因为它纯粹是装饰性的。因为我必须关掉它,所以我确实有一个停下来的机会;命令,但那是在问题解决之后。哇,这确实奏效了。这似乎是一种非常迂回的方式,但重要的是这确实是一种享受。非常感谢。顺便说一句,你的网站上有很酷的东西。你那里的游戏很酷。哈哈,它们都非常老了。。但愿我有时间做更多的东西。