Étape 4: préparer le code de communication de la Banque asiatique de développement
le sketch d’adb initiale était de l’exemple de bibliothèque de romfont . il le code nécessaire des modifications afin que nous pouvons porter avec succès à d’autres programmes.Voici le code modifié et les endroits où le nouveau code est à ajouter
pour le traitement de décompresser le code et lisez-le attentivement
le code final pour le programme précédent est-(uniquement le fichier principal, bibliothèque ne possède aucun changement)
import java.io.IOException ;
Import android.util.Log ;
serveur serveur privé ;
private int sensorValue ;
HScrollbar hs1, hs2, hs3 ;
void setup()
{
Créer serveur TCP
taille (800, 480) ;
orientation(Landscape) ;
noStroke() ;
int x1 = hauteur/4 ;
HS1 = nouveau HScrollbar (0, x 1 + 30, largeur-220, 16, 16) ;
HS2 = nouveau HScrollbar (0, 2 * x 1 + 30, largeur-220, 16, 16) ;
HS3 = nouveau HScrollbar (0, 3 * x 1 + 30, largeur-220, 16, 16) ;
serveur = null ;
Essayez
{
serveur = new Server(4567) ;
Server.Start() ;
}
catch (IOException e)
{
println(e.ToString()) ;
}
this.server.addListener (new AbstractServerListener()
{
' Public Sub onReceive (Client client, données de byte [])
{
Si (data.length < 3) return ;
sensorValue = (data [0] & 0xff) | () données [1] & 0xff) | ((données [2] & 0xff) << 8) ; Voir le changement
};
}
);
}
void draw()
{
Background(255) ;
Fill(63,232,34) ;
texte ("RGB Color Selector Arduino", 5, 80) ;
float img1Pos = hs1.getPos() ;
float img2Pos = hs2.getPos() ;
float img3Pos = hs3.getPos() ;
flotteur r = carte (img1Pos, 0, largeur-200,0,255) ;
flotteur g = carte (img2Pos, 0, largeur-200,0,255) ;
float b = carte (img3Pos, 0, largeur-200,0,255) ;
int rr, gg et 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() ;
ellipse (700, 250, 190, 190) ;
Stroke(0) ;
Essayez
{
Server.Send (new byte [] {(octets) (rr),(byte) (gg), (byte) ((bb))}) ; Voir le changement
}
catch (IOException e)
{
println ("microbridgeproblem envoi message TCP") ;
}
}
HScrollbar, classe
{
int swidth, sheight ;
flotteur xpos, ypos ;
flotteur spos, newspos ;
flotteur sposMin, sposMax ;
int lâche ;
plus booléenne ;
Boolean verrouillé ;
ratio de flotteur ;
HScrollbar (float xp, flotter yp, sw int, int, int l)
{
swidth = sw ;
sheight = sh ;
int widthtoheight = sw - sh ;
ratio = (float) sw / (float) widthtoheight ;
PosX = xp ;
YPos = yp-sheight/2 ;
FS = xpos + swidth/2-sheight/2 ;
newspos = spos ;
sposMin = xpos ;
sposMax = xpos + swidth - sheight ;
vrac = l ;
}
void update()
{
{if(overEvent())}
plus = true ;
} else {}
plus = false ;
}
Si (mousePressed & & plus) {}
verrouillée = true ;
}
{if(!mousePressed)}
verrouillée = false ;
}
{if(Locked)}
newspos = contraindre (mouseX-sheight/2, sposMin, sposMax) ;
}
Si (abs (newspos - spos) > 1) {}
FS = spos + (newspos-spos) / en vrac ;
}
}
flotteur contraindre (float val, flotter minv, flotter maxv)
{
retour min (max (val, minv), maxv) ;
}
overEvent() booléenne
{
Si (mouseX > xpos & & mouseX < xpos + swidth & & mouseY > ypos & & mouseY < ypos + sheight)
{
retourne la valeur true ;
}
d’autre
{
retourne la valeur false ;
}
}
display() Sub
{
noStroke() ;
Fill(204) ;
Rect (PosX, Posy, swidth, sheight) ;
if(over || Locked)
{
remplissage (0, 0, 0) ;
}
d’autre
{
remplissage (102, 102, 102) ;
}
Rect (spos, ypos, sheight, sheight) ;
}
flotteur getPos()
{
retour des spos * ratio ;
}