api:documentation:grafik:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
api:documentation:grafik:start [2021/01/05 10:38] – [getWorld-Methode der grafischen Objekte] Martin Pabst | api:documentation:grafik:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Grafikprogrammierung ====== | ====== Grafikprogrammierung ====== | ||
- | ===== Grafikbereich, | + | * [[:api:documentation:grafik:world|World, |
- | {{ :klassen1:anwenden:pasted:20200828-185832.png? | + | * [[:api: |
- | <WRAP center round tip 60%> | + | * [[:api:documentation:grafik:grundobjekte|Grafikobjekte]] \\ In diesem Kapitel erfährst Du, welche Grafikobjekte |
- | Grafiken | + | * [[: |
- | <code myJava> | + | * [[:api: |
- | new World(800, 600); | + | * [[:api:documentation:grafik:animation|Animation |
- | </ | + | * [[: |
- | Der **Ursprung des Koordinatensystems** liegt im Zeichenbereich **links oben**, die y-Achse zeigt nach **unten**! (Hier die [[https:// | + | * [[: |
- | Du kannst | + | * [[:api:documentation:grafik:keystate|Steuerung mit der Tastatur]] \\ Wie steuert man Objekte mit der Tastatur? \\ \\ |
- | **Tipp: ** Wenn ein Grafikobjekt (z.B. ein Rechteck) instanziert wird bevor der Grafikbereich angelegt wurde, wird automatisch einer erstellt, der die Koordinatengrenzen $x = 800$ und $y = 600$ besitzt. | + | * [[:api:documentation:grafik:compound|Zusammengesetzte Grafikobjekte]] \\ Hier zeige ich Dir, wie Du aus Rechtecken, Kreisen usw. ein interaktives Panzer-Objekt mit drehbarem Geschützturm bauen kannst. \\ \\ |
- | </ | + | |
- | + | ||
- | < | + | |
- | <div style=" | + | |
- | </ | + | |
- | + | ||
- | < | + | |
- | <div class=" | + | |
- | + | ||
- | <script type=" | + | |
- | World w = new World(800, 600); // Grafikbereich anlegen | + | |
- | w.setBackgroundColor(Color.white); | + | |
- | + | ||
- | new Circle(400, 200, 100); // Kreis mit Mittelpunkt (300, 200) und Radius 100 | + | |
- | new Circle(400, 400, 50); // Kreis mit Mittelpunkt (300, 400) und Radius 50 | + | |
- | + | ||
- | Rectangle r = new Rectangle(50, 20, 100, 160); | + | |
- | // 100 breit, 160 hoch | + | |
- | r.setFillColor(Color.green); | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | ===== Methoden der World-Klasse ===== | + | |
- | ==== setCursor ==== | + | |
- | Mit dieser Methode kann die Form des Mauscursors verändert werden, wenn er sich über dem Grafikbereich bewegt. Da intern einfach | + | |
- | * default | + | |
- | * pointer (Hand) | + | |
- | * progress | + | |
- | * crosshair (Fadenkreuz) | + | |
- | * move | + | |
- | * not-allowed | + | |
- | * usw. | + | |
- | Alle möglichen Werte findest Du in [[https:// | + | |
- | + | ||
- | < | + | |
- | <div class=" | + | |
- | + | ||
- | <script type=" | + | |
- | World w = new World(800, 600); // Grafikbereich anlegen | + | |
- | w.setCursor(" | + | |
- | + | ||
- | new Circle(400, 200, 100); // Kreis mit Mittelpunkt (300, 200) und Radius 100 | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | ==== getWorld-Methode der grafischen Objekte ==== | + | |
- | Oft möchte | + | |
- | + | ||
- | <WRAP center round tip 80%> | + | |
- | **Tipp 1:** Regle die Geschwindigkeit hoch, damit der Cursorwechsel " | + | |
- | **Tipp 2:** Jedes Grafikobjekt besitzt die Methode | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | === Beispiel 1: MouseOver-Effekt === | + | |
- | < | + | |
- | <div class=" | + | |
- | + | ||
- | <script type=" | + | |
- | World w = new World(800, 600); // Grafikbereich anlegen | + | |
- | + | ||
- | new MeinKreis(400, | + | |
- | while(true){} | + | |
- | + | ||
- | class MeinKreis extends Circle { | + | |
- | + | ||
- | | + | |
- | getWorld().setCursor(" | + | |
- | } | + | |
- | + | ||
- | | + | |
- | getWorld().setCursor(" | + | |
- | } | + | |
- | + | ||
- | } | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | === Beispiel 2: getWidth()- und getHeight()-Methode | + | |
- | < | + | |
- | <div class=" | + | |
- | + | ||
- | <script type=" | + | |
- | World w = new World(1000, 1000); | + | |
- | + | ||
- | for(int i = 0; i < 1000; i++) { | + | |
- | | + | |
- | | + | |
- | + | ||
- | int color = Math.floor(Math.random() * 0xffffff); | + | |
- | | + | |
- | + | ||
- | | + | |
- | | + | |
- | }</ | + | |
- | </ | + | |
- | + | ||
- | </ | + | |
api/documentation/grafik/start.1609839509.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)