PDA

Просмотр полной версии : Ошибка с клаccами и пакетами


dr.shpen
22.02.2014, 17:44
Всем привет! Есть простой класс кнопки
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
Методы типа 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
Методы типа addEventListener, addChild, доступны только для классов наследников DisplayObject, каковыми являются Sprite, MovieClip. Вот Вам и нужно унаследовать класс, от одного из перечисленных.

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

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

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