Tema: Re: Java applet ir synchronized metodai
Autorius: Jornada Del Muerto
Data: 2010-04-08 13:00:10
Cia mazdaug tokia struktura
Appletas - > Sukurta klase kazkas tokio kaip GameEngine kuri daryta reusable daugumai zaidimu, kuriant kazkoki zaidima veldejasi GameEngine klase kuri yra nuveldeta is Applet, tada ten kazkas daugiau implementinama ziurint ko reikia konkreciu atveju.
Tada GameEngine turi scena pagal interfeisa esant scenai ji apdirbama, vieni pagrindiniu metodu tai:
public void heartbeat();
public void paint(Graphics g);
Tiek scenos tiek aktoriaus interfeisai nuo kuriu kurtos scenos ir aktoriai turi savyje siuos metodus, scena pirmoje eileje abstrakti klase su daliniu funkcionalumu kuri is GameEngine gauna heartbeat ir paint call'us, ir po to dar processina su jais visus esamus aktorius.
Tada scena gali buti mouse ar keyboard listeneris (jei tai ji implementuoja, GameEngine siuncia atitinkamus eventus jai) ir tie eventai gali atlikti kazkokiu aktoriu zudyma ar apdirbima, dabar va biski perziurineju viska ir pasalinus siek tiek kodo kuris pagal ideja neturi niekad ivykt rodos kad veikia.
Va jei idomu galima dirstelt i zaidimuka :) http://www.lythum.eu/click-me
Tiesa cia drupal saitas dar ne iki galo sutvarkytas toks tai daug demesio nereik kreipt, na bet dar ir neviesinu per daug sio viso reikalo kol tik 1 zaidimas ir t.t. :)
"lomzig@work" <kp@work.gg> wrote in message news:hpk7nj$7um$1@trimpas.omnitel.net...
>o nėra kartais taip kad jei du threadai eina pas tą pačią klasę... kad reik
> klasę daryt synchronized? t.y. vienas blokuojasi kol kitas baigiasi.
> šiuo atveju aš kogero pagalvočiau apie scenos klasės sinchronizavimą, kad
> jei heartbeat'as nori daryt kažką - sulauktų kol numarinamas objektas (kartu
> ir iš masyvų pašalinamas)
>
> jei dabar tu synchronized padarei low level funkcijas tai labai mažas tavo
> sinchronizuotumo scope'as... ir kogero jokio tolko iš to negauni.
>
> "Jornada Del Muerto" <ask@me.email> wrote in message
> news:hpk39o$1al$1@trimpas.omnitel.net...
>> Sveiki,
>>
>> Ne taip senai pradejau dirbt su java, kurti appletus kurie daug dirba
>> su grafika, na tiksliau zaidimus ir pas mane branduolyje naudojasi
>> threadas kuris atsako uz ekrano perpiesima bei zaidimo heartbeat funkcija
>> (laikas nuo laiko objektu dalyvaujanciu zaidime apdirbima, toki kaip ju
>> judejimas, kazkokios kitos life cycle funkcijos). Naudoju gan standartine
>> ideologija, yra scena ir aktoriai (zaidime dalyvaujantys objektai). Na ir
>> zinau apie toki funkciju modifikatoriu kaip synchronized taciau kazkaip
>> neradau gero aprasymo kaip ji naudoti efektyviai.
>>
>> Vat ir paleidus is eclipse editoriaus rodos viskas graziai veikia, o
>> jei appletas leidziasi is web tai retkarciais man jis luzteli butent darbe
>> su masyvu kiek pastebejau, kad buna kartais kreipiamasi i jau
>> neegzistuojanti aktoriu (na jie turi givybe, gali mirti ir tada buna
>> automatiskai heartbeate pasalinami), kaip suprantu blogai sudeliojas
>> synchronized modifikatorius ar tai ne visur.
>>
>> Gal kas gali apsviesti kaip ji (synchronized) efektyviai naudoti ir kur
>> tiksliai reikia delioti? as lyg sudejas ant visu zemo lygio funkciju
>> kurios i masyva kreipiasi bet kartais tai vistiek nutinka, na bet kokia
>> info kuri paaiskintu tolkom apie synchronized nekenktu..
>