Benutzer-Werkzeuge

Webseiten-Werkzeuge


g9:uebungen:spiele9

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
g9:uebungen:spiele9 [2022/06/30 18:24] – [1. Spiel "Spacejunk" von Jochen Schmitt (Gymnasium Veitshöchheim)] Martin Pabstg9:uebungen:spiele9 [2022/07/01 07:54] (aktuell) – [Spieleprogrammierung in Jgst. 9] Martin Pabst
Zeile 5: Zeile 5:
   * Verwendung der **Processing-API**: Die Hauptklasse des Programms erbt von der Klasse ''PAppplet'' und überschreibt deren Methoden ''setup'' (wird 1-mal zu Beginn aufgerufen) und ''draw'' (wird anschließend 30-mal pro Sekunde aufgerufen). Bei jedem Aufruf von ''draw'' wird der Zeichenbereich gelöscht und muss komplett neu gezeichnet werden. Es gibt keine Klassen für graphische Objekte, sondern nur Zeichen-Methoden der Klasse ''PApplet'' wie ''circle'', ''rectangle'' usw. **Der Zustand des Programms kann daher komplett in Attributen mit primitiven Datentypen gespeichert werden.** Beispiele dafür finden Sie im Klett-Buch, zudem [[https://www.learnj.de/doku.php?id=api:documentation:processing:start|hier eine Einführung in die Processin-Programierung mit der Online-IDE]]. \\ \\    * Verwendung der **Processing-API**: Die Hauptklasse des Programms erbt von der Klasse ''PAppplet'' und überschreibt deren Methoden ''setup'' (wird 1-mal zu Beginn aufgerufen) und ''draw'' (wird anschließend 30-mal pro Sekunde aufgerufen). Bei jedem Aufruf von ''draw'' wird der Zeichenbereich gelöscht und muss komplett neu gezeichnet werden. Es gibt keine Klassen für graphische Objekte, sondern nur Zeichen-Methoden der Klasse ''PApplet'' wie ''circle'', ''rectangle'' usw. **Der Zustand des Programms kann daher komplett in Attributen mit primitiven Datentypen gespeichert werden.** Beispiele dafür finden Sie im Klett-Buch, zudem [[https://www.learnj.de/doku.php?id=api:documentation:processing:start|hier eine Einführung in die Processin-Programierung mit der Online-IDE]]. \\ \\ 
   * Verwendung der **Graphics and Games-API des Cornelsen-Verlages**: Zentraler Angelpunkt ist hier die Klasse ''Figur''. Erbt man von ihr, so kann man durch Überschreiben der Methoden ''AktionAusführen'' (wird 30-mal pro Sekunde aufgerufen) die Figur animieren und durch Überschreiben der Methoden ''TasteGedrückt'' und ''MausGeklickt'' auf Tastatur- und Mauseingaben reagieren. Die Interaktion mit anderen graphischen Objekten geschieht über die Methoden ''Berührt()'' und ''Berührt(String farbe)''. Sie geben genau dann true zurück, wenn die Figur irgendein graphisches Objekt berührt bzw. eines mit der angegebenen Farbe. [[https://www.learnj.de/doku.php?id=api:documentation:gng:start|Hier eine Beschreibung, wie sich die Graphics and Games-API in der Online-IDE nutzen lässt.]] \\ \\    * Verwendung der **Graphics and Games-API des Cornelsen-Verlages**: Zentraler Angelpunkt ist hier die Klasse ''Figur''. Erbt man von ihr, so kann man durch Überschreiben der Methoden ''AktionAusführen'' (wird 30-mal pro Sekunde aufgerufen) die Figur animieren und durch Überschreiben der Methoden ''TasteGedrückt'' und ''MausGeklickt'' auf Tastatur- und Mauseingaben reagieren. Die Interaktion mit anderen graphischen Objekten geschieht über die Methoden ''Berührt()'' und ''Berührt(String farbe)''. Sie geben genau dann true zurück, wenn die Figur irgendein graphisches Objekt berührt bzw. eines mit der angegebenen Farbe. [[https://www.learnj.de/doku.php?id=api:documentation:gng:start|Hier eine Beschreibung, wie sich die Graphics and Games-API in der Online-IDE nutzen lässt.]] \\ \\ 
 +  * Verwendung von **[[https://greenfoot.org/door|Greenfoot]]**: Jedes graphische Objekt besitzt eine Methode act, die 60-mal pro Sekunde aufgerufen wird, sowie Methoden zur Abfrage von Tastatur und Maus (''isKeyDown'', ''isKeyUp'', ...). Diese Ideen haben die graphischen Klassen der Online-IDE übernommen, sie sind aber deutlich umfangreicher als die Pendants in Greenfoot und nicht vollständig kompatibel. \\ \\ 
   * Verwendung der **Graphik-API der Online-IDE**: Jede graphische Klasse erbt von der Klasse ''Actor''. Sie besitzt eine überschreibbare Methode ''act'', die 30-mal pro Sekunde aufgerufen wird sowie Methoden ''onKeyDown'', ''onMouseMove'', usw. zum Reagieren auf Tastatur- und Mausereignisse. Zudem lässt sich der Status der Tasten auch mit ''isKeyDown(String taste)'' jederzeit abfragen. Die Interaktion mit anderen graphischen Objekten gelingt mit der Methode ''collidesWithAnyShape()'', die genau dann true zurückgibt, wenn das graphische Objekt ein anderes berührt.   * Verwendung der **Graphik-API der Online-IDE**: Jede graphische Klasse erbt von der Klasse ''Actor''. Sie besitzt eine überschreibbare Methode ''act'', die 30-mal pro Sekunde aufgerufen wird sowie Methoden ''onKeyDown'', ''onMouseMove'', usw. zum Reagieren auf Tastatur- und Mausereignisse. Zudem lässt sich der Status der Tasten auch mit ''isKeyDown(String taste)'' jederzeit abfragen. Die Interaktion mit anderen graphischen Objekten gelingt mit der Methode ''collidesWithAnyShape()'', die genau dann true zurückgibt, wenn das graphische Objekt ein anderes berührt.
  
g9/uebungen/spiele9.txt · Zuletzt geändert: 2022/07/01 07:54 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki