Dans cet article, je vais vous expliquer comment fonctionnent les paramètres settings ()
, setup ()
et draw ()
de Processing 3.3.5 (dernier en date du 7/2). Ce n'est pas une description de l'EDI.
Si vous avez des erreurs ou des informations plus intéressantes, veuillez nous le faire savoir dans les commentaires!
https://github.com/processing/processing
This is the official source code for the Processing Development Environment (PDE), the “core” and the libraries that are included with the download.
Je vais donc lire le code source officiel de Processing.
Vous pouvez en savoir plus sur le fonctionnement du traitement dans core / src / processing.
settings ()
, setup ()
, et draw ()
Ces trois fonctions sont définies dans PApplet.java. Regardons chacun d'eux.
settings()
public void settings() {
// is this necessary? (doesn't appear to be, so removing)
//size(DEFAULT_WIDTH, DEFAULT_HEIGHT, JAVA2D);
}
setup()
public void setup() {
}
draw()
public void draw() {
// if no draw method, then shut things down
//System.out.println("no draw method, goodbye");
finished = true;
}
Le code que vous écrivez dans Processing est en fait une classe qui hérite de PApplet
. Lorsque j'exécute le code suivant, il renvoie «true».
println(this instanceof PApplet);
Le traitement est écrit en supposant qu'il remplacera settings ()
, setup ()
et draw ()
de PApplet
. Ecrire «@ Override» avant le code ne donne pas d'erreur.
settings ()
est appelé par une fonction appelée handleSettings ()
.
De plus, setup ()
et draw ()
sont appelés par la fonction handleDraw ()
.
Les deux sont dans PApplet
.
handleSettings()
Après cela, dans PApplet
, il sera appelé dans l'ordre de runSketch ()
⇒main ()
.
En passant, une variable de type booléen appelée ʻinsideSettingsest utilisée dans cette fonction. Les traitements
smooth ()et
noSmooth () ne fonctionnent que si la variable ʻinsideSettings
est vraie. Notez que le traitement ne peut être effectué que dans l'état vrai dans settings ()
. Il y avait en fait une personne dans le besoin.
handleDraw()
setup ()
est appelé quand frameCount == 0
, etdraw () ʻest appelé autrement. C'est aussi une petite histoire, mais comme
frameCountest une variable publique, vous pouvez changer librement la valeur numérique. Si vous le faites dans
frameCount = -1 et
draw (),
setup ()` sera appelé. Vous n'aurez aucune chance de l'utiliser, mais c'est l'une des vulnérabilités de traitement.
AnimationThread
Un Thread appelé AnimationThread est défini dans la classe PSurfaceNone
. handleDraw ()
est appelé par callDraw ()
dedans, et continue à boucler dans run ()
jusqu'à ce que la condition de fin soit remplie par l'instruction while.
Jusqu'à présent, j'ai expliqué comment fonctionnent les paramètres settings ()
, setup ()
et draw ()
que nous avons toujours écrits dans Processing. J'espère que vous êtes satisfait de cet article.
handleDraw ()
est public et peut être remplacé. Mettez simplement le code suivant dans le code de quelqu'un d'autre et setup ()
et draw ()
ne seront pas appelés.
void handleDraw() {
}
Il s'agit également d'une vulnérabilité de traitement. Est-ce que ça va Traitement ...
Recommended Posts