Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Distribucija komponenti - problem sa Button komponentom

  • 3 odgovora
  • 4.329 pregleda

Najnovija ↓

Distribucija komponenti - problem sa Button komponentom 22.02.2010. u 01:16 · pre 203 meseca
izmenjeno 2 puta, poslednji put sstanko78 22.02.2010. u 01:34
  1. sstanko7822.02.2010. u 01:34zapis iz teksta poruke
  2. sstanko7822.02.2010. u 01:28zapis iz teksta poruke
#1
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 ?
Re: Distribucija komponenti - problem sa Button komponentom 23.02.2010. u 11:29 · pre 203 meseca #2
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.
Potpis
"Treba li da se smejem jer smesni su, . . .
. . . ili da placem jer je to sve sto jesu? "
Re: Distribucija komponenti - problem sa Button komponentom 23.02.2010. u 14:19 · pre 203 meseca #3
@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 ?
Re: Distribucija komponenti - problem sa Button komponentom 23.02.2010. u 15:44 · pre 203 meseca #4


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.
Potpis
"Treba li da se smejem jer smesni su, . . .
. . . ili da placem jer je to sve sto jesu? "
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme