TlačiťTlačiť Slovenčina English Hľadať RSS

© 2005 – 2024 Roman Horváth, všetky práva vyhradené. Dnes je 4. 5. 2024.

Stránka sa načítava, prosím čakajte…

Dátum: 27. 3. 2019, pred piatimi rokmi

Tento príklad vyžaduje nasledujúci SVG obrázok Ruka.svg. Prevezmete ho kliknutím na neho:

obrázok

 

Po spustení sa vykreslí obrys ruky čiernou farbou. Ťahaním myšou po obrazovke sa farba obrysu zmení na zelenú, ak je kurzor myši mimo tvaru ruky alebo červenú, ak je kurzor myši vo vnútri tvaru.

~

import knižnica.*;
// ## import java.awt.Shape;

public class Kolízia extends GRobot
{
	// ## private Shape tvar;
	private Oblasť oblasť;

	private Kolízia()
	{
		hrúbkaČiary(3);
		int prečítané = svgPodpora.čítaj("Ruka.svg");
		if (-1 == prečítané)
		{
			Svet.farbaTextu(červená);
			Svet.vypíšRiadok("Čítanie súboru sa nepodarilo.");
		}
		else
		{
			// ## tvar = svgPodpora.dajVýsledný(0);
			// ## oblasť = new Oblasť(SVGPodpora.presuňDoStredu(tvar));
			oblasť = new Oblasť(SVGPodpora.presuňDoStredu(
				svgPodpora.dajVýsledný(0)));
			vlastnýTvar(r -> r.obkresliOblasť(oblasť));
		}
	}

	@Override public void ťahanieMyšou()
	{
		if (bodVOblasti(ÚdajeUdalostí.polohaMyši(), oblasť))
			farba(červená); else farba(zelená);
	}

	public static void main(String[] args)
	{
		Svet.použiKonfiguráciu("Kolízia.cfg");
		new Kolízia();
	}
}