Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Ошибка с клаccами и пакетами (http://www.flasher.ru/forum/showthread.php?t=206702)

dr.shpen 22.02.2014 17:44

Ошибка с клаccами и пакетами
 
Всем привет! Есть простой класс кнопки
Код AS3:

package myPackage{
        import flash.events.MouseEvent;
        import flash.display.MovieClip;
        public class myButton {
 
                public function myButton() {
                        addEventListener(MouseEvent.Click, showText);
                }
                function showText(e:MouseEvent):void{
                        trace("WOW WOW working!!");
                }
        }
}

При запуске ругается:
  • строка 7 1180: Вызов предположительно неопределенного метода addEventListener.
  • строка 7 1119: Обращение возможного неопределенного свойства Click через ссылку со статическим типом Class .
  • строка 1 5000: В класс "myPackage.myButton" должен входить подкласс "flash.display.MovieClip", так как он связывается с символом такого же типа в библиотеке.

Подскажите что не так? Буду очень благодарен!

Akopalipsis 22.02.2014 17:50

Методы типа addEventListener, addChild, доступны только для классов наследников DisplayObject, каковыми являются Sprite, MovieClip. Вот Вам и нужно унаследовать класс, от одного из перечисленных.

dr.shpen 22.02.2014 17:52

Цитата:

Сообщение от Akopalipsis (Сообщение 1160461)
Методы типа addEventListener, addChild, доступны только для классов наследников DisplayObject, каковыми являются Sprite, MovieClip. Вот Вам и нужно унаследовать класс, от одного из перечисленных.

Спасибо! Это я невнимательный, извините. Да, и еще я написал "MouseEvent.Click", а надо "MouseEvent.CLICK".

Проблема решена!

alexandrratush 22.02.2014 18:12

Akopalipsis я вас немного поправлю: метод addEventListener доступен для наследников EventDispatcher, а не только DisplayObject.

caseyryan 22.02.2014 19:29

Цитата:

Сообщение от Akopalipsis (Сообщение 1160461)
Методы типа addEventListener, addChild, доступны только для классов наследников DisplayObject, каковыми являются Sprite, MovieClip. Вот Вам и нужно унаследовать класс, от одного из перечисленных.

На счет addEventListener уже сказали, скажу еще по поводу addChild. Так вот, у DisplayObject нет метода addChild. Он есть у DisplayObjectContainer.

Bletraut 24.02.2014 05:11

Тогда уж и я добавлю, если вы унаследуетесь от DisplayObjectContainer, то ничего у вас работать не будет, это так сказать "абстрактные" классы.

Добавлено через 2 минуты
Хотя тут никто от них и не наследуется. Но думаю, может возникнуть попытка создать свой "чистый" класс наследуясь лишь только от DO.


Часовой пояс GMT +4, время: 23:59.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.