Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Distribucija komponenti - problem sa Button komponentom

[es] :: Flash :: Distribucija komponenti - problem sa Button komponentom

[ Pregleda: 2914 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sstanko78
Novi Sad

Član broj: 19139
Poruke: 411
*.dynamic.sbb.rs.



Profil

icon Distribucija komponenti - problem sa Button komponentom22.02.2010. u 00:16 - pre 171 meseci
Imam seldeci problem:

Razvili nekoliko as3 class-a, koje se oslanjaju na Yahoo Astra flash biblioteku.
Zatim smo kreirali komponentu (symbol) koja nasleduje jednu od tih naših klasa.
Odlucili smo da distribuiramo tu našu komponentu u obliku mpx ekstenzije. Znaci
eksportovali smo komponentu u swc file i napravili ekstenziju.

Ukoliko zatim upotrebimo komponentu u novom projektu, dobijamo sledeci exception:

TypeError: Error #2007: Parameter child must be non-null.
at flash.display::DisplayObjectContainer/addChildAt()
at fl.controls::BaseButton/fl.controls:BaseButton::drawBackground()
at fl.controls::LabelButton/fl.controls:LabelButton::draw()
at fl.controls::Button/fl.controls:Button::draw()
at fl.core::UIComponent/drawNow()
at com.yahoo.astra.fl.containers.layoutClasses::BaseLayoutPane/com.yahoo.astra.fl.containers.layoutClasses:BaseLayoutPane::redrawUIComponentChildren()
at com.yahoo.astra.fl.containers.layoutClasses::BaseLayoutPane/com.yahoo.astra.fl.containers.layoutClasses:BaseLayoutPane::draw()
at com.yahoo.astra.fl.containers.layoutClasses::AdvancedLayoutPane/com.yahoo.astra.fl.containers.layoutClasses:AdvancedLayoutPane::draw()
at com.yahoo.astra.fl.containers::BoxPane/com.yahoo.astra.fl.containers:BoxPane::draw()
at fl.core::UIComponent/drawNow()
at com.yahoo.astra.fl.containers.layoutClasses::BaseLayoutPane/com.yahoo.astra.fl.containers.layoutClasses:BaseLayoutPane::redrawUIComponentChildren()
at com.yahoo.astra.fl.containers.layoutClasses::BaseLayoutPane/com.yahoo.astra.fl.containers.layoutClasses:BaseLayoutPane::draw()
at com.yahoo.astra.fl.containers.layoutClasses::AdvancedLayoutPane/com.yahoo.astra.fl.containers.layoutClasses:AdvancedLayoutPane::draw()
at com.yahoo.astra.fl.containers::BoxPane/com.yahoo.astra.fl.containers:BoxPane::draw()
at fl.core::UIComponent/fl.core:UIComponent::callLaterDispatcher()
Cannot display source code at this location.


Ovo se ne dešava ukoliko u novom projektu uz naš menuBar na isti ekran dodamo Button kontrolu (onu koja se nalazi
u standardnom setu komponenti).
Da li je moguce resiti ovaj problem , tako da eventualni korisnici nase biblioteke ne moraju da
dodaju Button komponentu uz nas menuBar ?

[Ovu poruku je menjao sstanko78 dana 22.02.2010. u 01:28 GMT+1]

[Ovu poruku je menjao sstanko78 dana 22.02.2010. u 01:34 GMT+1]
 
Odgovor na temu

shedvel
Jobless Couch Bum
Kragujevac

Član broj: 70014
Poruke: 114
*.dynamic.isp.telekom.rs.



Profil

icon Re: Distribucija komponenti - problem sa Button komponentom23.02.2010. u 10:29 - pre 171 meseci
Pri kreiranju custom komponente na stage dodaj button ( iz components window-a), a zatim ga obrisi sa stagea, i uradi publish.
Alternativno kroz as3 custom class uradi import Button i SimpleButton klasa.
"Treba li da se smejem jer smesni su, . . .
. . . ili da placem jer je to sve sto jesu? "
 
Odgovor na temu

sstanko78
Novi Sad

Član broj: 19139
Poruke: 411
89.216.32.*



Profil

icon Re: Distribucija komponenti - problem sa Button komponentom23.02.2010. u 13:19 - pre 171 meseci
@shedvel to nisam jos probao. Uradio sam juce sledece:

Code:

var skin1:Button_upSkin=new Button_upSkin();
var skin2:Button_selectedUpSkin=new Button_selectedUpSkin();
var skin3:Button_selectedOverSkin=new Button_selectedOverSkin();
var skin4:Button_selectedDownSkin=new Button_selectedDownSkin();
var skin5:Button_selectedDisabledSkin=new Button_selectedDisabledSkin();
var skin6:Button_overSkin=new Button_overSkin();
var skin7:Button_emphasizedSkin=new Button_emphasizedSkin();
var skin8:Button_downSkin=new Button_downSkin();
var skin9:Button_disabledSkin=new Button_disabledSkin();
        
            
var btn:Button = new Button();
btn.setStyle( "Button_upSkin", new Button_upSkin());
btn.enabled = false;
btn.visible = false;
addChild( btn );


Instancirao sam button i njegove skinove u as3 class-i od koje smo napravili komponentu (symbol)

Ne razumem zašto sam morao da instanciram skin class-e ?
 
Odgovor na temu

shedvel
Jobless Couch Bum
Kragujevac

Član broj: 70014
Poruke: 114
*.dynamic.isp.telekom.rs.



Profil

icon Re: Distribucija komponenti - problem sa Button komponentom23.02.2010. u 14:44 - pre 171 meseci


Nagadjam da ste kreirali custom cell renderer (sastavljen od dugmadi) za Astra menu komponentu, ali ste zaboravili da dodate stilove koji nisu nasledjeni.

Astra menu item renderer (davno koristio, ne secam se tacnog naziva klase) nasledjuje flash core UIcomponent ali i dodaje sopstvene stilove koji nisu nasledjeni od flash komponenti, te ih je stoga potrebno kreirati.

*ako pogadjam scenario, probaj sa dodavanjem u library (putem dodavanja pa uklanjajna sa stage-a) Button komponente, moguce da ces na taj nacin izbeci potrebu za direktnim kreiranjem skinova i ubrzati malo kreiranje.

"Treba li da se smejem jer smesni su, . . .
. . . ili da placem jer je to sve sto jesu? "
 
Odgovor na temu

[es] :: Flash :: Distribucija komponenti - problem sa Button komponentom

[ Pregleda: 2914 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.