/ Enseignements / Atelier Hypermédia / Happy Code Farm / Processing

Jouer avec le temps

Dans cet article, nous allons voir 3 façons de mesurer le temps dans un scketch processing.

La logique de ces sketch est simple :

Il est 19h28, J’ai un rôtis dans le four et je dois le retourner toutes les 10 minutes. Je regarde ma montre et je retiens quelle heure il est. Quand le temps qui indique ma montre dépasse 19h28 + 10 minutes, c’est à dire 19h38, je fais l’action que j’ai à faire (retourner mon rôtis). Entre temps je peux dessiner sur les murs de la cuisine tout en jetant un coup d’oeil sur l’heure. Et je fais ça en boucle... Dessiner, regarder l’heure, si les 10 minutes se sont écoulées, retourner le rôtis, ... etc.

L’exemple que je vous montre a une limitation qui n’est pas des moindres. Si mon action de dessiner prend beaucoup de temps (1h par exemple) je risque de brûler mon rôtis.

En effet, quand on utilise la fonction draw, nous ne pouvons pas être sûrs à 100% qu’elle va être exécutée 60 fois par secondes. Si on fait des calculs très poussés nous risquons même d’aller au deçà de 1 fois par seconde, ce qui est très lent. Notre minuteur est donc fortement lié à la vitesse de la boucle draw.

La solution pour ce problème existe : faire un minuteur dans sa propre boucle (indépendamment du draw). Cela peut se faire en créant ce que l’on appelle un thread. Mais faute de pratique je ne peux pas donner d’exemple maintenant.

Premier exemple :

Zip - 2 ko

Second exemple :

Zip - 1 ko

Ok, on fait des objets :

Zip - 1.4 ko
To view this content, you need to install Java from java.com
Ecole d’Art d’Aix en provence -