PDA

Просмотр полной версии : Подключение класса


Ruffus
02.06.2008, 22:07
Написал файл с классом клипа. Там импортирую флешовый класс. Потом использую импортированный класс для типа переменной.

import flash.geom.Rectangle;
...
private var rect: Rectangle;

Файл с классом проверку на ошибки проходит.
Но когда его подгружаешь в саму флэшку, компилятор ругается на этот импорт и говорит, что class can not be loaded.
Кто знает в чём дело?

MrPoma
02.06.2008, 22:32
Видимо у Вас нету пакета с этими классами.

etc
02.06.2008, 23:20
Тексто ошибки полностью.

Ruffus
03.06.2008, 10:17
Пакет с классами, как и положено, лежит тут:
C:\Program Files\Macromedia\Flash 8\en\First Run\Classes\FP8\flash\geom
Кроме того, если бы его не было, ошибка возникла бы в самом классе, где импорт идёт. Вот полный текст ошибки:

**Error** C:\Documents and Settings\Admin\Мои документы\Flashes\hvClasses\Hall.as: Line 42: The class or interface 'flash.geom.Rectangle' could not be loaded.
private var __focusRect: Rectangle;

Далее ругается на каждое появление имени Rectangle

etc
03.06.2008, 10:41
Для начала, не размещайте проекты в папках с русскими названиями.
И классы не в First Run надо смотреть, а в Documents and Settings.

Ruffus
03.06.2008, 12:13
Интересно, кто придумал размещать классы в каталоге с настройками.
Скажите тогда, почему сам файл с классом не ругается на импорт.

iNils
03.06.2008, 12:30
Интересно, кто придумал размещать классы в каталоге с настройками.В название папки "Documents and Settings" два слова, а не одно.
Скажите тогда, почему сам файл с классом не ругается на импорт.Где не ругается?

Ruffus
03.06.2008, 12:39
import hvClasses.XHelp;
import hvClasses.Background;
import hvClasses.SeatMovie;
import hvClasses.BoxMovie;
import hvClasses.Utils;
import mx.events.EventDispatcher;
import flash.geom.Rectangle;
// -- ==================================
class hvClasses.Hall extends MovieClip
{

Вот тут не ругается.

если у меня в документах пусто, туда можно скопипастить классы нужные? откуда взять их тогда?

Интересно, что в основном .fla файле на ту же строчку с импортом класса нормально реагирует

Ruffus
03.06.2008, 22:39
Скажите мне точно, где хранятся те классы, которые flash ищет при импортировании

silin
03.06.2008, 23:14
он ищет их в соответствии с настройками ClassPath (Edit-preferences-ActionScript-AS2 Settings)
по дефолту это два пути:
-директория проекта
-Hard Disk\Documents and Settings\user\Local Settings\Application Data\Adobe\Adobe Flash CS3\language\Configuration\Classes.

Ruffus
04.06.2008, 12:22
У меня Flash 8. Все классы, как я понимаю, должны лежать в
C:\Documents and Settings\Admin\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\
Тут они и лежат. Но ошибка есть всё равно...

iNils
04.06.2008, 12:28
Выкладывайте исходники.

Ruffus
04.06.2008, 15:07
У меня Flash 8. Классы лежат тут:
C:\Documents and Settings\Admin\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes
Наверное, так и надо.
Только ошибка всё равно выскакивает...

Ruffus
04.06.2008, 15:11
Пардон за дублирование

Ruffus
04.06.2008, 21:34
Вместо исходников пишу код подробнее. Вот код класса, в котором импортируется прямоугольник.

import hvClasses.Hall;
import hvClasses.Utils;
import hvClasses.XHelp;
import hvClasses.Background;
import flash.geom.Rectangle;
class hvClasses.Viewer extends MovieClip
{
var __x, __y, __rotation, __width, __height: Number;
private var _xmlSocket:XMLSocket;
private var _host:String;
private var _port:Number;
private var _conn:Boolean;

private var _fileName:String;
private var _sendNode:XMLNode;
private var _way:Array;
private var _currZ:Number;
private var _currApp:Number;
private var _apprKoef:Number;
private var _lShift, _tShift:Array;
private var _nearSelectOnly: Boolean;
private var _needProcessing: Boolean;
private var _localRedraw: Boolean;
private var hall: Hall;

private var _imgRect: Rectangle; //ругается тут

private var _infoString: String;
private var _onSitSelect: Function;
private var _onApproach: Function;
private var _bgColor: Number;

private var _lRect, __lRect: Rectangle; //и тут

private var _waitText, _errorText, _adviceText: String;
private var _tfText:TextFormat;
private var _modCount: Number;
private var _captured: Boolean;
private var _altCaptured: Boolean;
private var _mirrorReflect: Boolean;
private var _capturePoint: Object;
private var _altCapturePoint: Object;
private var _counter: Number;
private var _messText:TextField;
private var backGr: Background;

Тут никаких ошибок не выдаётся. Далее код самого мувика. Тут импортируется только что описанный файл, и ошибки вываливаются на тех строчках, в которых прямоугольник используется. Выглядит это примерно так.

import flash.geom.Rectangle; //самое интересное, что вот тут как бы всё нормально, ошибок нет
import hvClasses.Viewer; //а тут ругается