![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
сделал swc файл, вкомпилив туда один единственный тестовый класс
package { import flash.display.MovieClip; public class NewClass extends MovieClip{ public var prob:int = 1; public function NewClass(){ super(); prob = 2; } } } Пишу класс, и в параметре флешки задаю его как основной класс: package{ import flash.display.MovieClip; import NewClass; public class MainClass extends MovieClip{ function MainClass(){ var r = new NewClass(); trace(r.prob); } } } ReferenceError: Error #1065: Переменная NewClass не определена. at MainClass() Что я делаю не так? Если эту swc использовать в FD as3 проекте, то все работает, но хочется использовать либу во флеш. |
|
|||||
|
Регистрация: Jun 2007
Сообщений: 83
|
var r:NewClass = new NewClass();
|
|
|||||
|
попробовал. Теперь при запуске получаю такую простыню:
verify MainClass()
stack:
scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ MainClass$]
locals: MainClass *
0:getlocal0
stack: MainClass
scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ MainClass$]
locals: MainClass *
1:pushscope
stack:
scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ MainClass$] MainClass
locals: MainClass *
2:getlocal0
stack: MainClass
scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ MainClass$] MainClass
locals: MainClass *
3:constructsuper 0
stack:
scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ MainClass$] MainClass
locals: MainClass *
5:findpropstrict NewClass
stack: Object
scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ MainClass$] MainClass
locals: MainClass *
7:constructprop 3 0
stack: *
scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ MainClass$] MainClass
locals: MainClass *
10:coerce NewClass
VerifyError: Error #1014: Не удалось найти класс NewClass.
at MainClass()
|
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Вы в какой версии флеша работаете?
|
|
|||||
|
cs4 10.0.2
Я победил его, но вопрос не снимается а трансформируется. Поясняю. У меня получилось откомпилить с библиотекой даже двумя разными способами. Первый способ. Это если мы идем в файл\создать, там выбираем "проект Flash". Открывается окошко в котором создаем проект, указываем путь корневой директории проекта и путь в swс. B этом окошке есть кнопочка "тестировать проект" - и через нее все работает, хотя ctrl-enter оно все еще не работает. Второй способ -- это если мы идем в настройки публикации, но не во вкладку "путь к внешней библиотеке", а во вкладку "путь к библиотеке". И в дополнение к тому пути, который там вписан по дефелту, добавляем наш swc. И все работает по ctrl-enter. А вопрос теперь такой - что это за вкладка такая "путь к внешней библиотеке", для чего она предназначена, если все равно добавленные туда swc не работают? |
|
|||||
|
Modus ponens
|
Ваша ошибка говорит о том, что вы преждевременно там чего-то инициализируете, а все потому, что первой строчкой надо обязательно вызывать super(), не класть классы в анонимные пакеты.
Т.е. вот так:
__________________
Hell is the possibility of sanity |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:44. |
|
|
« Предыдущая тема | Следующая тема » |
|
|