Actionscript: вызов метода суперкласса из подкласса. - PullRequest
0 голосов
/ 16 августа 2010

Что я хотел бы сделать - это вызвать метод из суперкласса в подклассе.В частности, я хочу иметь возможность добавить подкласс в качестве дочернего элемента суперкласса, но без необходимости физического ввода addChild в суперклассе (но мне придется вводить его в подклассе).Сейчас я просто пытаюсь вызвать метод в суперклассе, который рисует некоторый текст из подкласса.

Вот класс MAIN (суперкласс)

package 
{
    import flash.display.*;     
    import flash.events.*;
    import flash.text.*;

    public class MAIN extends Sprite
    {
        public var SOMETEXT:TextField = new TextField();
        public function MAIN()
        {
            new OBJECT_square().CREATE();
        }
        public function DRAWTEXT():void
        {
            SOMETEXT.text = "sometext";
            addChild(SOMETEXT);
        }
    }
}

Вот объект OBJECT_squareclass (подкласс)

package
{
    import flash.display.*;
    import flash.events.*;
    public class OBJECT_square extends MAIN
    {
        public function CREATE():void
        {
            MAIN.DRAWTEXT();
        }
    }
}

Код не компилируется, я получаю «Вызов возможно неопределенного метода DRAWTEXT через ссылку со статическим классом типа».

Я понимаю, что тамВ противном случае для отображения текста на экране.Мне просто нужно научиться вызывать методы суперкласса.

Ответы [ 2 ]

2 голосов
/ 16 августа 2010

Просто звоните регулярно.Если у вас есть класс, расширяющий базовый класс, этот класс наследует все методы базовых классов.

package
{
    import flash.display.*;
    import flash.events.*;
    public class OBJECT_square extends MAIN
    {
        public function CREATE():void
        {
            DRAWTEXT();
        }
    }
}
1 голос
/ 16 августа 2010

Отредактировано

Мне плохо о предложении static, я явно не обращал особого внимания на ваш код, прежде чем ответить.DRAWTEXT ничего не показывает, потому что ваш объект не был добавлен на сцену.Вы должны вызвать addChild (), чтобы увидеть свой объект diplsay.


В качестве дополнительного примечания, не принимайте это как должное, купите, что вы задавали много вопросов, которые показывают, что вам не хватает базовогопонимание того, как работает Flash и Actionscript (а также, кажется, вы слишком настойчивы, чтобы заставить его работать так, как вы хотите).

Здесь всегда можно задавать вопросы (если вы держите их в теме, что, как кажется, относится к вашим вопросам), но я думаю, что вам будет лучше сначала изучить основы из некоторого хорошегокниги, учебные пособия и т. д.

Эти два поста содержат ссылки на полезные ресурсы, думаю, вам стоит их проверить.

Ресурсы для изучения ActionScript 3.0 в качестве профессионального программиста

https://stackoverflow.com/questions/168586/where-to-learn-actionscript-3-0

Кроме того, что со всеми этими пользователями с одинаковыми именами?Прямо сейчас я могу видеть 9 пользователей с именем 1101 здесь: https://stackoverflow.com/users/,, и я думаю, что все они ваши.Одного достаточно.В самом деле.Вам не нужно создавать нового пользователя каждый раз, когда вы хотите задать вопрос.Кроме того, попробуйте ответить на вопросы, которые вы задавали, чтобы дать отзыв тем, кто не смог ответить (это будет намного проще, если у вас будет только один пользователь).И когда вы хотите прокомментировать какой-либо ответ, оставьте комментарий вместо добавления ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...