Stránka sa načítava, prosím čakajte…
© 2005 – 2024 Roman Horváth, všetky práva vyhradené. Dnes je 4. 5. 2024.
Dátum: 27. 2. 2019, pred piatimi rokmi
~
import knižnica.*; public class PohyblivýKruh extends GRobot { private PohyblivýKruh() { hrúbkaČiary(2); veľkosť(20); farba(zelená); zdvihniPero(); aktivuj(); } @Override public void kresliTvar() { krúžok(); } @Override public void stlačenieKlávesu() { switch (ÚdajeUdalostí.kláves()) { case Kláves.VĽAVO: rýchlosťPosunu(-10); break; case Kláves.VPRAVO: rýchlosťPosunu(10); break; case Kláves.HORE: rýchlosť(20); break; case Kláves.DOLE: rýchlosť(-20); break; } } @Override public void uvoľnenieKlávesu() { switch (ÚdajeUdalostí.kláves()) { case Kláves.VĽAVO: case Kláves.VPRAVO: rýchlosťPosunu(0); break; case Kláves.HORE: case Kláves.DOLE: rýchlosť(0); break; } } @Override public void ťahanieMyšou() { rýchlosť(10); cieľNaMyš(); } public static void main(String[] args) { Svet.použiKonfiguráciu("PohyblivýKruh.cfg"); new PohyblivýKruh(); } }
Ukážka
Zelená kružnica zareaguje na kliknutie myšou na plochu tak, že sa začne pomaly (svojou rýchlosťou) presúvať na pozíciu, na ktorú bolo kliknuté.
Poznámka: Framework je naprogramovaný tak, aby objekt, ktorý sa k cieľu priblíži pod hranicu svojej rýchlosti okamžite preskočil na cieľovú pozíciu a zastavil. Má sa tým zabrániť neželaným „blúdeniam“ objektov v okolí ich cieľov. Vedľajším efektom je, že ak sa v tomto príklade myšou dostatočne opatrne pohybujeme v perimetri úmernom rýchlosti objektu (zelenej kružnice), dokážeme objekt „oklamať“ a pohybovať ním myšou aj rýchlejšie, než je jeho maximálna povolená rýchlosť. (Určovanie cieľovej pozície objektov však nebolo zamýšľané na použitie s ťahaním myšou, ani to nedáva zmysel.)