Stap 4: prepping de code voor de mededeling van de adb
de eerste adb schets was uit het voorbeeld van de romfont bibliotheek. de code nodig er sommige veranderingen, zodat we het succes naar andere programma's poort kunnen.Hier is de gewijzigde code en de plaatsen waar de nieuwe code wordt toegevoegd
voor de verwerking van unzip de code en het grondig te lezen
de uiteindelijke code voor het vorige programma is-(alleen het hoofdbestand, bibliotheek heeft geen verandering)
importeren van java.io.IOException;
importeren van android.util.Log;
privé Server server;
private int sensorValue;
HScrollbar hs1, hs2, hs3;
VOID Setup
{
TCP server maken
grootte (800, 480);
Orientation(landscape);
noStroke();
int x1 = hoogte/4;
HS1 nieuwe HScrollbar = (0, x 1 + 30, breedte-220, 16 en 16);
HS2 nieuwe HScrollbar = (0, 2 * x 1 + 30, breedte-220, 16 en 16);
hs3 nieuwe HScrollbar = (0, 3 * x 1 + 30, breedte-220, 16 en 16);
Server = null;
Probeer
{
server = nieuwe Server(4567);
server.Start();
}
vangst (IOException e)
{
println(e.toString());
}
this.server.addListener (nieuwe AbstractServerListener()
{
openbare nietige onReceive (cliënt, bytegegevens [])
{
Als (data.length < 3) keren;
sensorValue = (gegevens [0] & 0xff) | () gegevens [1] & 0xff) | ((gegevens [2] & 0xff) << 8); Zie de wijzigen
};
}
);
}
VOID draw()
{
Background(255);
Fill(63,232,34);
tekst ("RGB kleur Selector Arduino", 5, 80);
zweven img1Pos = hs1.getPos();
zweven img2Pos = hs2.getPos();
zweven img3Pos = hs3.getPos();
zweven r = kaart (img1Pos, 0, breedte-200,0,255);
zweven van g = kaart (img2Pos, 0, breedte-200,0,255);
zweven b = kaart (img3Pos, 0, breedte-200,0,255);
int rr, gg, bb;
RR=int(r);
GG=int(g);
BB=int(b);
HS1.update();
HS2.update();
hs3.update();
hs3.display();
HS1.display();
HS2.display();
Fill(RR,GG,BB);
strokeWeight(2);
Smooth();
ellips (700 250, 190, 190);
Stroke(0);
Probeer
{
server.send (nieuwe byte [] {(byte) (rr),(byte) (gg), (byte) ((bb))}); Zie de wijzigen
}
vangst (IOException e)
{
println ("microbridgeproblem verzenden van TCP-bericht");
}
}
klasse HScrollbar
{
int swidth, sheight;
float xpos, ypos;
float spos, newspos;
float sposMin, sposMax;
int losse;
Booleaanse over;
Boolean vergrendeld;
float verhouding;
HScrollbar (xp drijven, zweven yp, int sw, int sh, int l)
{
swidth = sw;
sheight = sh;
int widthtoheight = sw - sh;
ratio = (float) sw / (zweven) widthtoheight;
xpos = xp;
yPos = yp-sheight/2;
spos = xpos + swidth/2-sheight/2;
newspos = spos;
sposMin = xpos;
sposMax = xpos + swidth - sheight;
losse = l;
}
VOID update()
{
if(overEvent()) {}
meer dan = true;
} else {}
meer dan = false;
}
Als (mousePressed & & meer dan) {}
vergrendeld = true;
}
if(!mousePressed) {}
vergrendeld = false;
}
if(Locked) {}
newspos = beperken (mouseX-sheight/2, sposMin, sposMax);
}
Als (abs (newspos - spos) > 1) {}
spos = spos + (newspos-spos) / los;
}
}
float beperken (val drijven, zweven minv, zweven maxv)
{
retourneren van min (max (val, minv), maxv);
}
Booleaanse overEvent()
{
Als (mouseX > xpos & & mouseX < xpos + swidth & & mouseY > ypos & & mouseY < ypos + sheight)
{
return true;
}
anders
{
return false;
}
}
VOID display)
{
noStroke();
Fill(204);
rect (xpos ypos, swidth, sheight);
if(over || Locked)
{
vulling (0, 0, 0);
}
anders
{
vulling (102 102, 102);
}
rect (spos ypos, sheight, sheight);
}
float getPos()
{
terug spos * verhouding;
}