Zdravím,
s používaním Javy nemám ešte moc veľké skúsenosti, hlavne čo sa týka jej dynamiky a vytvárania grafických objektov. Postupne sa učím, ako vytvoriť jednoduchý ovál, trojuholník a pod.
Zaujíma ma ale otázka akejsi spolupráce týchto grafických prvkov a časovača.
Problém 1
Zoberme si príklad, že chcem vytvoriť akúsi strielačku... Mám nejaký pohybujúci sa ovál a keď napr. kliknem myšou, zo súradníc oválu vyletí náboj.
Ako by som to robil?
Očakával by som kliknutie myšou a hneď by som zavolal triedu, ktorá nájde pozíciu oválu, zapne časovač, vytvori náboj a bude ho posúvať až do konca obrazovky (potom sa skryje a pod.) Toto by bolo v skutku zaujímavé, ale čo ak kliknem po sebe 5krát? To by znamenalo, že vždy po každom kliku sa náboj nastaví na začiatok zapne časovač atď. teda by to nešlo nijako súvislo za sebou. Ako sa dá táto súvislosť spraviť?
Že by sa napríklad. vytvorilo hneď 5 letiacich nábojov, ktoré by po "pristáni" na konci obrazovky zmizli?
(nemyslím si, že by riešenie inicializácie niekoľkých nábojov dopredu malo zmysel...)
Bolo na každý jeden z nich nastaviť nejakú udalosť, pokiaľ áno, tak ako?
Problém 2:
Zoberme si napríklad hru PacMan po formulári si chodí panáčik a zbiera body. Ako to funguje?
Ako by som to robil?
Môj nápad je asi takýto: Hneď zo začiatku by som vygeneroval cez nejaký cyklus náhodne dajme tomu 50 cukríkov, ktoré by som ukladal. Samostatne x súradnicu do jedného poľa, y do druhého a vždy pohybe panáčika, by sa kontrolovali jeho súradnice a taktiež by mal v sebe cyklus, ktorý by stále bežal a pokiaľ by narazil na súradnicu kde je cukrík, tak by napr. tú položku z pola zmenil.
Je ale takéto riešenie adekvátne a rýchle?
Problém 3
Berme stále príklad PacMan-a ako tam funguje "narážanie" do stien? Kde a ako sa všetko kontroluje, aby daný objekt neprešiel cez stenu?
Budem veľmi rád, ak mi napíšete ako by sa to dalo spraviť lepšie, prípadne mi poradíte.
Za každú radu budem vďačný.
Ďakujem
Anonym