kramann.info
© Guido Kramann

Login: Passwort:










3.11.10 Interaktion über den Touch Screen mit Android Processing

3.11.10 Interaction via the touch screen with Android Processing (EN google-translate)

3.11.10 Interakcja za pośrednictwem ekranu dotykowego z Androidem Processing (PL google-translate)

Der typische Weg mit einem Android Gerät zu interagieren geht über den Touch Screen. Will man beispielsweise einen Knopf programmieren, so muß man sich die Darstellung des Knopfes getrennt von der Erfassung der gewünschten Aktion denken: Der Knopf wird in einer bestimmten Farbe gezeichnet. Berührt der Finger den Touch Screen, so können dadurch bestimmte vordefinierte Funktions Aufrufe ausgelöst werden. Das sind die so genannten Call back Routinen. Sie heißen: mousePressed() mouseDragged() mouseReleased() uund so weiter. In diese Funktionen muß man hinein schreiben, was bei Berühren des Bildschirms passieren soll. Es stehen dazu die globalen Variablen mouseX und mouseY zur Verfügung. Diese repräsentieren die aktuelle Maus- bzw. Fingerposition. Außerdem kann noch pmouseX und pmouseY verwendet werden. Sie repräsentieren die vorangehende Mouseposition.

The typical way to interact with an Android device is via the touch screen. If, for example, you want to program a button, you have to think of the display of the button separately from the detection of the desired action: The button is drawn in a specific color. If the finger touches the touch screen, it can trigger certain predefined function calls. These are the so-called call-back routines. They are called: mousePressed () mouseDragged () mouseReleased () and so on. In these functions you have to write into what should happen when touching the screen. The global variables mouseX and mouseY are available for this purpose. These represent the current mouse or finger position. In addition, pmouseX and pmouseY can still be used. They represent the previous mouse position.

Typowy sposób interakcji z urządzeniem z systemem Android odbywa się za pomocą ekranu dotykowego. Jeśli, na przykład, chcesz zaprogramować przycisk, musisz pomyśleć o wyświetleniu przycisku niezależnie od wykrycia pożądanego działania: Przycisk jest rysowany w określonym kolorze. Jeśli palec dotknie ekranu dotykowego, może wywołać pewne wstępnie zdefiniowane wywołania funkcji. Są to tak zwane procedury oddzwaniania. Nazywane są one: mousePressed () mouseDragged () mouseReleased () i tak dalej. W tych funkcjach musisz napisać, co powinno się stać podczas dotykania ekranu. W tym celu dostępne są zmienne globalne mouseX i mouseY. Reprezentują one bieżącą pozycję myszy lub palca. Ponadto nadal można stosować pmouseX i pmouseY. Reprezentują one poprzednią pozycję myszy.

Das folgende Beispiel wechselt die Farbe eines Knopfes, wenn dieser gedrückt wird. Der "Knopf" ist einfach ein gezeichnetes Rechteck. Es wird geprüft, ob der Finger innerhalb des Rechtecks ist und gegebenenfalls die Farbe umgeschaltet:

The following example changes the color of a button when it is pressed. The button is simply a drawn rectangle. It checks if the finger is inside the rectangle and if necessary switches the color:

Poniższy przykład zmienia kolor przycisku po naciśnięciu. Przycisk jest po prostu narysowanym prostokątem. Sprawdza, czy palec znajduje się wewnątrz prostokąta iw razie potrzeby zmienia kolor:

boolean ON=false;
int x_button;
int y_button;
int w_button;
int h_button;
public void setup()
{
    fullScreen();
    background(100,100,255);
    x_button = width/4;
    y_button = height/4;
    w_button = width/8;
    h_button = height/8;    
}

public void draw()
{
    if(ON==true)
        fill(0,255,0);
    else
        fill(255,0,0);
    rect(x_button,y_button,w_button,h_button);    
}

public void mousePressed()
{
     if(mouseX>x_button && mouseX<x_button+w_button &&
        mouseY>y_button && mouseY<y_button+h_button)
     {
         ON = !ON;
     }
}

Code 3.11.10-1: button

button.zip -- sketch folder

Dingen nehmen und verschieben

Take things and move

Bierz rzeczy i ruszaj się

Ganz ähnlich sieht ein Programm aus, bei dem ein Gegenstand genommen und verschoben werden soll. Hier kommt mouseDragged() zum Einsatz:

Similarly, a program looks like when an object is to be taken and moved. Here mouseDragged () is used:

Podobnie program wygląda, gdy obiekt ma być wzięty i przeniesiony. Tutaj użyto mouseDragged ():

int x_button;
int y_button;
int w_button;
int h_button;
public void setup()
{
    fullScreen();
    x_button = width/4;
    y_button = height/4;
    w_button = width/8;
    h_button = height/8;    
}

public void draw()
{
    background(100,100,255);
    fill(255,0,0);
    rect(x_button,y_button,w_button,h_button);    
}

public void mouseDragged()
{
     if(dmouseX>x_button && dmouseX<x_button+w_button &&
        dmouseY>y_button && dmouseY<y_button+h_button)
     {
         x_button += mouseX-dmouseX;
         y_button += mouseY-dmouseY;
     }
}

Code 3.11.10-2: movething

movething.zip -- sketch folder