Bonjour
J'ai un problème avec la fonction translate.
En effet lorsque j'applique une translation j'aimerais qu'elle s'applique aux coordonnées mouseX et mouseY de ma souris.
Genre j'ai ça :
void setup() { size(200,200); translate(width/2,height/2); } void draw() { println(mouseX); }
et je constate que les coordonnées de ma souris vont toujours de 0 à 199...
Y a t'il une solution ou une astuce?
merci d'avance
Hors ligne
Salut,
Je pense que les données mouseX et mouseY sont indépendantes de translate.
Si tu veux les changer, le mieux serait de mettre le x er le y de la souris dans deux variables et d'ajouter (ou retirer) la valeur désirée.
Si tu veux plus d'aide, explique-nous mieux ton projet.
@+
Hors ligne
translate() effectue un déplacement de matrice.
c a d que l'origine de ton plan cartésien (0,0) sera déplacé d'une valeur de (x, y).
mouseX et mouseY ne sont pas affecté par ce changement de matrice leur valeur seront toujours établies par rapport au plan d'origine.
Même si tu procède comme Matthieu te conseilles, tes valeurs de mouseX iront toujours de 0 à width.
Mais ta valeur telle que tu l'auras à l'écran pourrait être quelque chose comme ça :
translate(10, 20); line(mouseX, mouseY, 0, 0); println( (mouseX -10) + " " + (mouseY-20);
Dernière modification par oyster_twiter (2010-11-10 15:49:02)
Hors ligne
Ok les gars merci pour la précision.
Je vais donc y aller à l'arrache :
void setup() { size(200,200); translate(width/2, height/2); } void draw() { int PointeurX = mouseX-width/2; println(PointeurX); }
Hors ligne
Salut,
Je ne sais pas ce que tu veux faire, mais pour le coup ton PointeurX n'a pas besoin de la fonction translate
Hors ligne
Pages: 1