Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   импорт из swc (http://www.flasher.ru/forum/showthread.php?t=137240)

Дед Анвирыч 09.03.2010 03:52

импорт из swc
 
Доброго ночи-утра )
столкнулся с такой проблемой:
понадобилось создавать из библиотеки битмапы. Настраиваем в библиотеке экспорт и все как бы работает. но т.к изображений ~250 собирает cs4 swf'ку безбожно долго - больше минуты.
Появилась мысль вынести эти битмапы в отдельный swc, импортнуть и пользоваться.
сказано - сделано )
скомпилял swc, подключил к основному проекту. прописал импорт.
Код AS3:

import testbitmapdata

скомпилил. быстро )
Пытаюсь создать объект
Код AS3:

trace(new testbitmapdata(0,0))

- борода. нет такого объекта и все.
убрал строчку импорта - ругается при компиляции, что незнает про testbitmapdata.
т.е. явно он его увидел
пробую так
Код AS3:

trace(new testbitmapdata())

ругается, что надо 2 параметра.
т.е. все ок - компилятор его видит, но в рантайме этого объекта нет
полез в size report - думал там что полезного увижу. там про testbitmapdata ничего :(

Собственно 2 вопроса
1) как заставить этот обхект создаваться в рантайме?
2) может есть какие-то другие способы чтобы компилять быстрее при большом количестве залинкованных объектов в cs4

Заранее благодарен

TERRORist 09.03.2010 12:12

не знаю как в дефолтной IDE, а в FlashDevelop импорт не нужно писать. просто trace(new myclass(params))

Дед Анвирыч 09.03.2010 13:30

Да и черт бы чей с ним, с импортом )
главное чтоб в рантайме классы были доступны

Finji 09.03.2010 13:59

А в чем компилится основной проект?

chabapok 09.03.2010 14:03

Как подключали swc к основному проекту?
в настройках публикации есть парамтры и там можно указать внешние библиотеки. Причем там указать можно 2мя способами
1. путь к библиотеке
2. путь к ВНЕШНЕЙ библиотеке.

так вот если сделать способом 2 -- работать не будет. (непонятно вообще зачем оно)

и еще советовали, чтобы картинкам не просто класс, а и имя пакета было присвоено. То есть там где as3 class пишите mypictures.pictA
При импорте, соответственно, тоже.

Дед Анвирыч 09.03.2010 15:44

ДА! пункт 1 помог :) Спасибо.

Но возник новый геморрой
Код AS3:

getDefinitionByName('testbitmapdata');

возвращает null
причем хоть с именем пакета указывать имя, хоть без

dimarik 10.03.2010 00:31

А Вы его(её?) загрузили в ApplicationDomain.currentDomain, чтобы спрашивать как getDefinitionByName? Нет. И не загрузите.

Давайте разделять понятия compile- и run-time.

Дед Анвирыч 10.03.2010 00:57

эээ... ну если он скомпилился и создается как
Код AS3:

new testbitmapdata();

неужели его по имени создать нельзя? :(
тогда вся прелесть этого дела пропадает :(

Hidest 10.03.2010 01:03

Эм... два параметра, которые он хочет - это ширина и высота той битмапы, которая у вас должна получится... типа, они обязательные... По крайней мере сталкивался с таким поведением.

Дед Анвирыч 10.03.2010 01:06

С параметрами вопрос решен установкой базового класса с конструктором без параметров, это не беда :)


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

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