Bonjour à tous,
Je suis étudiant en design graphique et je débute seulement sur processing. Pour un projet sur lequel je travail, j'aurai besoin de réaliser une sorte de machine à écrire. Après quelques recherches sur Internet, j'ai déjà bien avancé. Lorsque j'appuie sur une touche, je peux afficher une forme vectorielle qui correspond à ma lettre. Mais je n'arrive pas à régler certains problèmes.
Tout d'abord, je possède plusieurs versions de chaque lettre, et j'aimerai que lorsque j'appuie par exemple sur la touche a, je puisse afficher aléatoirement A1, ou A2, ou A3, etc...
Ensuite, en ce qui concerne le placement des images, j'aimerai qu'elles se placent les unes à la suite des autres, comme du traitement de texte, mais je n'ai pas trouvé comment. De plus, est-il possible d'appliquer un retour à la ligne en pressant la touche Entrer ?
Voici mon code pour le moment :
import java.util.Map;
HashMap<String,PShape> lettres;
int svgL, svgH;
void setup(){
size(640, 480);
svgL = 40; svgH = 40;
lettres = new HashMap<String,PShape>();
lettres.put("a", loadShape("A1.svg"));
lettres.put("b", loadShape("B.svg"));
lettres.put("c", loadShape("C1.svg"));
lettres.put("d", loadShape("D.svg"));
lettres.put("e", loadShape("E1.svg"));
}
void draw(){}
void keyPressed(){
String chaine = String.valueOf(key);
PShape forme = lettres.get(chaine);
forme.disableStyle();
noStroke();
fill(random(255), random(255), random(255));
background(random(255), random(255), random(255));
shape(forme, svgL, 30,40,40);
}
Je vous remercie d'avance, et bon week end !
Hors ligne
Tout est possible !
C'est bien d'utiliser des outils complexes comme les HashMap. J'ai donc gardé ce que tu avais commencé. Par contre, la valeur doit être un tableau de PShape. Comme cela on peux faire un tirage aléatoire d'une lettre.
Comme ta question requière des images, il aurait été judicieux de compresser tout ton projet et nous le faire parvenir. J'ai du recréer des images.
Pour le décalage, il suffit d'introduire deux variables qui sont la position du curseur. Ainsi elles s'incrémentent en fonction des touches pressées.
Hors ligne
Merci Mushussu !!
Je m'excuse de ne pas avoir joint tous les fichiers, j'y penserai la prochaine fois !
Mais en tous cas je te remercie vraiment de ton aide. Je ne m'attendais pas à recevoir une réponse si complète, c'est très sympa de ta part d'avoir pris tout ce temps pour résoudre mon problème. Tu me sauves la vie ! Je vais enfin pouvoir terminer mon projet.
Je te souhaite une bonne soirée, et encore merci !
Hors ligne