PDA

Просмотр полной версии : Ошибка при присоединении кода класса AS из файла


IYAKOV
07.02.2008, 23:29
Не пойму в чем дело. такая ошибка постоянно вылетает:
"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."


package {
import flash.display.MovieClip;
class BoundaryPoint extends MovieClip {
//конструктор
public function BoundaryPoint(){ }
}
}
файл называется BoundaryPoint.as, лежит в одной папке с test.fla, в которой есть символ - ему соответствует класс BoundaryPoint - прописано в Linkage, в качестве base class указан flash.display.MovieClip....
:umnik2:есть мысли?

etc
12.01.2009, 15:44
Blondinka, а вы внимательно текст ошибки читали?
Причем тут класс «A» и ваш «BoundaryPoint»?