as3从子类1120调用根父类:访问未定义的属性父类

时间:2014-05-16 14:19:13

标签: actionscript-3 flash class

您好我在尝试调用根类函数(返回)?从一个子类但我得到一个错误,我尝试了一些没有运气的东西。请帮忙!欢呼声

主要课程

package  {

    import flash.display.MovieClip;
    import foo;

    public class Main extends MovieClip {

        public function Main(){         
            var foo:* = new foo();
            addChild(foo)
            foo.call();
        }

        public function back(){
            trace("back");
        }
    }
}

Sub foo class

package  {

    public class foo {

        public function foo() {         
            trace("foo int");
        }

        public function call(){
            trace("foo, Main call");
            (parent as Main).back();
        }
    }
}

我的工作......

主要班级;

package { 

    import flash.display.*;
    import foo;

    public class Main extends MovieClip {

        private static var main: Main;
        private var Foo: foo;

        public function Main(){
            Foo = new foo();
            Foo.call();
        }

        public static function get back(): Main {
            trace("foo!");
            return main;
        }
    }
}

foo class:

package {

    public class foo {

        public function foo() {
            trace("foo int");
        }

        public function call(){
            trace("foo, Main call");
            Main.back;
        }
    }
}

2 个答案:

答案 0 :(得分:0)

parentDislpayObject类的属性:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObject.html#parent

这意味着你应该首先扩展它和第二个(非常重要) - 你必须将子项添加到任何显示列表以便使用父项(如ref所示: parent - >表示包含此显示对象的DisplayObjectContainer对象

答案 1 :(得分:0)

感谢你们的帮助,感谢你们,但不幸的是,这对我没有用..我找到了一份工作,这就是我的所作所为。这是我所需要的(我没有选择改变保持不变所需的文档类结构)。

package { 

    import flash.display.*;
    import foo;

    public class Main extends MovieClip {

        private static var main: Main;
        private var Foo: foo;

        public function Main(){
            Foo = new foo();
            Foo.call();
        }

        public static function get back(): Main {
            trace("foo!");
            return main;
        }
    }
}

foo class;

package {

    public class foo {

        public function foo() {
            trace("foo int");
        }

        public function call(){
            trace("foo, Main call");
            Main.back;
        }
    }
}