【问题标题】:AS3: Accesing function on the maintime line from a extended movieclip classAS3:从扩展的影片剪辑类访问主时间线上的函数
【发布时间】:2010-02-21 21:20:12
【问题描述】:

我的主时间轴上有一些影片剪辑,其中包含一个类来扩展这些影片剪辑

ClickableMovieClip.as:

package {
    import flash.display.MovieClip;
    import flash.events.*;
    public class ClickableMovieClip extends MovieClip {
        public function ClickableMovieClip():void {
            this.buttonMode = true;
            this.addEventListener(MouseEvent.MOUSE_UP, onReleaseHandler);
        }
        public function onReleaseHandler(myEvent:MouseEvent) {
            //trace(" > "+this.name);
            testing();
        }
    }
}

在我的主时间线上我有这个函数 testing();

function testing(){
     trace("hello world!");
}

但我无法“达到”测试功能。我收到此错误: "1061: 通过静态类型 flash.display:DisplayObjectContainer 的引用调用可能未定义的方法测试。"

我做错了什么?

【问题讨论】:

    标签: actionscript-3 class


    【解决方案1】:

    首先,您是如何将您的 AS3 课程连接到舞台的?在框架中导入还是作为文档类使用?

    这可能与继承有关。

    其次,您可能需要使用(root As MovieClip).testing() 或类似名称来调用它。这个想法是您需要将其作为阶段或根的方法来调用。我不记得它是如何工作的。

    编辑:

    正如你所说,MovieClip(parent).testing(); 就是答案。我之前忘记了确切的语法......

    【讨论】:

    • 感谢您为我指明正确的方向!电影剪辑(父).testing();对我来说是诀窍
    • 如果这解决了您的问题,那么您应该将答案标记为正确。只是一个想法。
    猜你喜欢
    • 2011-08-10
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多