Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Error 5000 (http://www.flasher.ru/forum/showthread.php?t=114783)

NewFolder 08.08.2008 20:11

Error 5000
 
Какой-то странный глюк, если в Publish Settings -> Action Script Settings поставить галочку Automatically declare stage instances, то будет вылетать такая ошибка:
5000: The class 'classes.buttons.GameButton' must subclass 'flash.display.MovieClip' since it is linked to a library symbol of that type.

Код самого класса:
Код:

package classes.buttons {
       
        import flash.display.MovieClip;
        import flash.display.SimpleButton;
        import flash.events.MouseEvent;
       
       
        public class GameButton extends MovieClip {
                private var button:SimpleButton;
               
                //Constructor
                public function GameButton() {
                        button = getChildByName("b") as SimpleButton;
                       
                        button.addEventListener(MouseEvent.MOUSE_OVER, mouseEvent);
                        button.addEventListener(MouseEvent.MOUSE_DOWN, mouseEvent);
                       
                }               
}

Искал в интернете, у большинства людей есть такая проблема, но вразумительного ответа так никто и не написал

wvxvw 08.08.2008 21:25

А что написано в linkage в библиотеке?

ulik 09.08.2008 19:58

Как сказал wvxvw, единственное, что может быть - linkage, скорее всего там вы что-то другое написали (не flash.display.MovieClip)

NewFolder 11.08.2008 20:01

ой, совсем забыл!
Есть класс GameButton, который унаследован от MovieClip.
Есть класс FindButton, который наследуется от GameButton.
Так вот, когда я указываю linkage в библиотеке на FindButton, с указанием Base Class - GameButton, выдаётся такая ошибка

wvxvw 11.08.2008 20:36

В base-class нужно писать либо MovieClip, либо Sprite, либо чего там соответствует содержанию, Bitmap/Video/Sound/Font и т.д. а не кастомные классы.
Это не влияет на реальную цепочку наследования, т.е. если:
MyButton extends -> MyOtherButton extends -> Sprite
то и MyButton и MyOtherButton в библиотеке надо писать flash.display.Sprite.

etc 11.08.2008 20:44

Если существует кастомный класс, то значение Base class уже никакой роли не играет.

Владимир 20.03.2011 08:42

То же решил проблему: 5000: В класс "MyClass" должен входить подкласс "flash.display.MovieClip", так как он связывается с символом такого же типа в библиотеке.

В моем случае оставалось добавить import flash.display.MovieClip;
и дописать extends MovieClip

Интересно, какую роль играет extends в строке public class GameButton extends MovieClip {


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

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