Halfist
23.02.2012, 00:36
Предположил, что решение моей проблемы (http://www.flasher.ru/forum/showthread.php?t=175642) может заключаться в изменении базового класса фрагмента ролика, экспортированного для ActionScript, но, вот беда, не могу его сменить!
Класс bodyClass (файл bodyClass.as) лежит в директории classes (../classes/bodyClass.as) и содержит следующие строки:
package classes
{
public class bodyClass extends item
{
public var f2:String;
public var f3:String;
public var f4:String;
}
}
Класс item (файл item.as) лежит в директории classes (../classes/item.as) и содержит следующие строки:
package classes
{
import flash.display.MovieClip;
import flash.display.DisplayObject;
import flash.utils.getDefinitionByName;
public class item extends MovieClip
{
public var f1:String;
}
}
В коде, написанном во fla файле (../program.fla) они подключаются следующим образом:
import classes.*;
Когда я хочу изменить базовый класс фрагмента ролика с "flash.display.MovieClip" на "classes.bodyClass" в библиотеке fla файла, экспортированный для ActionScript, то получаю там вот такую ошибку: "Определение этого класса не было найдено в ..\classes\bodyClass.as". Как же его изменить? Делаю это для того, чтобы динамически создаваемые объекты были экземплярами класса bodyClass (bodyClass -> item -> MovieClip), а не просто MovieClip, поскольку хочу, чтобы объект обладал полями и методами всех трёх классов.
Или какой бы базовый класс я не поставил бы, мне не изменить тот факт, что фрагмент ролика будет extends MovieClip? Мне нужно, чтобы это изменилось на extends bodyClass, но не редактировать класс вручную (иначе придётся сохранять его в отдельный файл, а таких файлов будет >200, ибо библиотека, мягко говоря, немаленькая).
Добавлено через 34 минуты
UPD: Проблема решена. Нужно было просто нажать "Ок", а не кликать по зелёному check'у. Иногда слушать Flash себе дороже :).
Класс bodyClass (файл bodyClass.as) лежит в директории classes (../classes/bodyClass.as) и содержит следующие строки:
package classes
{
public class bodyClass extends item
{
public var f2:String;
public var f3:String;
public var f4:String;
}
}
Класс item (файл item.as) лежит в директории classes (../classes/item.as) и содержит следующие строки:
package classes
{
import flash.display.MovieClip;
import flash.display.DisplayObject;
import flash.utils.getDefinitionByName;
public class item extends MovieClip
{
public var f1:String;
}
}
В коде, написанном во fla файле (../program.fla) они подключаются следующим образом:
import classes.*;
Когда я хочу изменить базовый класс фрагмента ролика с "flash.display.MovieClip" на "classes.bodyClass" в библиотеке fla файла, экспортированный для ActionScript, то получаю там вот такую ошибку: "Определение этого класса не было найдено в ..\classes\bodyClass.as". Как же его изменить? Делаю это для того, чтобы динамически создаваемые объекты были экземплярами класса bodyClass (bodyClass -> item -> MovieClip), а не просто MovieClip, поскольку хочу, чтобы объект обладал полями и методами всех трёх классов.
Или какой бы базовый класс я не поставил бы, мне не изменить тот факт, что фрагмент ролика будет extends MovieClip? Мне нужно, чтобы это изменилось на extends bodyClass, но не редактировать класс вручную (иначе придётся сохранять его в отдельный файл, а таких файлов будет >200, ибо библиотека, мягко говоря, немаленькая).
Добавлено через 34 минуты
UPD: Проблема решена. Нужно было просто нажать "Ок", а не кликать по зелёному check'у. Иногда слушать Flash себе дороже :).