Kasta eldklot med ditt sinne med OSC och bearbetning (6 / 7 steg)
Steg 6: Klassen Java Robot
Nu är du redo att flytta saker med din hjärna. Vi kommer att införa en ny klass som heter klassen Robot. Låter coolt va? Detta är något som är inbyggd i Java som gör det möjligt att läsa statusinformation om tangentbordet och musen samt manipulera dem i koden.
Importera Java bibliotek
Upp på toppen av din fil, importera Java-bibliotek som så:
import java.awt.*;
Detta öppnar upp alla typer av coola saker till oss och ger oss möjlighet att använda klassen Robot.
Under OscP5 oscp5, sätter detta i:
Robot BIR;
Detta skapar en platshållare för en Robot, med namnet bob.
Blåsa lite liv i roboten
Lägg till detta att din setup() funktion:
försök {/ / försök och skapa en ny robot heter bob
Bob = nya Robot();
}
fånga (AWTException e) {/ / om det finns ett fel, skriva ut den till konsolen
e.printStackTrace();
}
Här är lite mer komplicerat att förklara. I grund och botten du kommer att försöka skapa en robot-objekt med namnet bob, men om det inte fungerar av någon anledning, det kommer att skriva ut ett fel och stoppa din ansökan - eftersom du vet... robotar är farliga.
Lägga till ett tröskelvärde
Innan vi börjar utlöser saker med vår hjärna, kan ställa några grundregler. Lägg till detta under float currentAttention;
float tröskel = 75,0;
Detta är ett godtyckligt nummer som vi kommer att använda senare berätta för våra program när man ska trycka på en tangent.
Lägg till knapptryckningar!
Så är den slutliga produkten för detta att kasta Hadoukens i Street Fighter med ditt sinne. Om du kolla in bilderna, märker du att nyckeln för det är s '. Så i din draw() funktion, sätta detta:
om (currentAttention > tröskel) {
bob.keyPress(java.awt.event.KeyEvent.VK_S);
} annat {
bob.keyRelease(java.awt.event.KeyEvent.VK_S);
}
Vad detta gör är att säga att om din nuvarande uppmärksamhet nivå överstiger din tröskel, berättar bob roboten att trycka 'S'. Annars, release ". Detta mappas till någon annan knapp. Bokstäverna är bara VK_ < brev >, men några av funktionstangenterna har förkortningar. Du kan slå upp dem i Java dokumentationen här.