Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Ошибка при присоединении кода класса AS из файла (http://www.flasher.ru/forum/showthread.php?t=107724)

IYAKOV 07.02.2008 23:29

Ошибка при присоединении кода класса AS из файла
 
Не пойму в чем дело. такая ошибка постоянно вылетает:
"5000: The class 'A' must subclass 'flash.display.MovieClip' since it is linked to a library symbol of that type."

сам файл A.as:
Код:

class A
{
        public function A():void{
        }
}

(пробовал писать и package, но все равно ошибка)

файл test.fla пустой

в настройках выставил класс-путь в папку с файлами, в свойствах поставил документ класс A.

При компиляции выдается ошибка описанная выше. судя по ошибке необходимо создать муви клип в библиотеке и в него загрузить код? но тоже пробовал, не получилось(
Что это такое? как с этим бороться?

etc 07.02.2008 23:31

Конструктор по определению ничего не возвращает, указание типа не нужно.

Document class обязан быть наследником хотя бы Sprite, а у вас он просто наследник Object.

IYAKOV 07.02.2008 23:52

ой точно, этож конструктор)

да, значит я исправил на :
Код:

package
{
        import flash.display.MovieClip;
        class A extends MovieClip
        {
                public function A()
                {
                }
        }
}

появилась ошибка: ReferenceError: Error #1065: Variable A is not defined

но похоже что написал бред(
сделал следующее:
Код:

//package
//{
import flash.display.Sprite;
class A extends Sprite
{
        public function A()
        {
        }
}
//}

Выдает ошибку в первой строке с или без закомментареного текста: 1180: Call to a possibly undefined method addFrameScript.
А если указать имя pakage , то такую:
"5001: The name of package 'A' does not reflect the location of this file. Please change the package definition's name inside this file, or move the file. D:\STUDY\FlashCS3\as_test\A.as"

где 'A' - имя пакета перепробовал все имена файлов и папок(((

etc 08.02.2008 01:51

A.as и соответствующий fla-файл должны находится в одной папке.
Первый вариант кода был верным.

IYAKOV 08.02.2008 10:21

вот этот правильный вариант?
Код:

package
{
        import flash.display.MovieClip;
        class A extends MovieClip
        {
                public function A()
                {
                }
        }
}

А как в таком случае создать экземпляр класса А?

в хелпе написано что нужно написать:
Код:

import packageName.mainClassName
Просто с пустым или с кодом в fla файле выдается на выход(аутпут) следующее:
"ReferenceError: Error #1065: Variable A is not defined."

etc 08.02.2008 10:28

В fla-файле кода быть не должно.

IYAKOV 08.02.2008 18:01

a..... 8)
я все понял, таким образом .fla файл остается пустым, а мы работаем только с файлом .as
Т.е. просто создать экземпляр класса в .fla из .as файла уже в FlashCS3 нельзя? или можно?

А можно подключать .as файлы в другой .as? как?

Fernando Costa 08.02.2008 18:51

Цитата:

А можно подключать .as файлы в другой .as? как?
в вашем коде вы же итак подключили класс мувиклип
Код:

import flash.display.MovieClip;
в ваш класс А :)

IYAKOV 09.02.2008 08:30

действительно...)
спасибо всем

Blondinka 12.01.2009 15:27

все равно ошибка эта.... :(
"5000: The class 'A' must subclass 'flash.display.MovieClip' since it is linked to a library symbol of that type."

Код AS3:

package {
import flash.display.MovieClip;
class BoundaryPoint extends MovieClip {       
        //конструктор
        public function BoundaryPoint(){        }                               
        }
}

файл называется BoundaryPoint.as, лежит в одной папке с test.fla, в которой есть символ - ему соответствует класс BoundaryPoint - прописано в Linkage, в качестве base class указан flash.display.MovieClip....
:umnik2:есть мысли?


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

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