Drucken

Touch-Events


Interaktive Apps zu erstellen, die auf die Berührung des Displays reagieren, ist eine der wichtigsten Programmiertechniken beim Programmieren von Smartphones und Tablets. In der Klassenbibliothek JTurtleLib sind TouchEvents mit einfachen Methoden implementierbar. Ihre Verwendung wird an Hand von Beispielen vorgestellt.

Im ersten Beispiel verwenden wir die Methode playgroundPressed(x,  y). Diese Methode wird bei der Berührung des Bildschirms vom System aufgerufen und liefert die Koordinaten des Berührungspunktes. Die x-Koordinate kann die Werte von -200 bis 200, von links nach rechts, y die Werte von -200 bis 200 unten nach oben, annehmen. Das Koordinatensystem ist unabhängig von der Bildschirmauflösung des Gerätes.

Unser Beispiel ist eine schöne Anwendung der objektorientierten Programmierung. In der Methode playgroundPressed() wird eine Turtle joe erzeugt, welche einen Stern zeichnet. Bei jeder Berührung des Bildschirmes entsteht eine neue Turtle. Da die Methode playgroundPressed() in unabhängigen Threads aufgerufen wird, zeichnen alle Turtles die Sterne miteinander.

Source mit Online-Compiler bearbeiten

App installieren auf Smartphone oder Tablet

QR-Code

Sources downloaden (Tu16.zip)

// Tu16java

package app.tu16;

import turtle.*;

public class Tu16 extends Playground
{
  public void playgroundPressed(double x, double y)
  {
    Turtle joe = new Turtle(x, y);
    for (int = 0; i < 6; i++)
    {
      joe.fd(20);
      joe.rt(140);
      joe.fd(20);
      joe.lt(80);
    }
  }
}

 

Erklärungen zum Programmcode:

public void playgroundPressed(double x, double y)

Die Methode muss public sein, damit sie für das Android-System sichtbar ist.
Anstelle playgroudPressed() kann auch die Methode playgroundClicked() verwendet werden, die auf Drücken und Loslassen reagiert

main() main() ist nicht nötig, da es sich um ein eventgesteuertes Programm handelt

 

Verbindungslinien zeichnen von Touch zu Touch. Die Turtle joe ist zu Beginn in der Mitte des Playgrounds. Bei jeder Bildschirm-Berührung wird die Verbindungsline von der alten zur neuen Position gezeichnet.

Source mit Online-Compiler bearbeiten

App installieren auf Smartphone oderTablet

QR-Code

Sources downloaden (Tu17.zip)

// Tu17.java

package app.tu17;

import turtle.*;

public class Tu17 extends Playground
{
  public void main()
  {   
    st();
    setColor(RED);
    setSpeed(MAXSPEED);
  }
  
  public void playgroundPressed(double x, double y)
  {
    joe.moveTo(x, y);
  }
}

 

Erklärungen zum Programmcode:

moveTo(x, y)

Bewegt die Turtle von der aktuellen Position zum Punkt mit den Koordinaten x, y in unserem Fall zum Berührungspunkt und zeichnet im Gegensatz zu setPos(x, y) die Spur