» codelab : http://codelab.fr/accueil » Forum : Processing : http://codelab.fr/processing » Déplacer un objet "balle" d'un point A à un point B : http://codelab.fr/5012 Ceci est la version imprimable d'un sujet du forum, pour retourner à la version complète : Déplacer un objet "balle" d'un point A à un point B |
sleepy0lo — 2014-05-14 17:46:34 |
Bonjour, |
matheynen — 2014-05-14 21:18:36 |
Voilà deux tutos de David Shiffman qui devraient t'aider à voir plus clair. |
matheynen — 2014-05-14 21:35:45 |
Ou encore olus simple si tu veux donner un petit effet a ta balle |
Mushussu — 2014-05-15 07:17:23 |
Si tu veux utiliser des PVector tu peux t'inspirer de ce qui suit en le faisant à ta sauce : import controlP5.*; ControlP5 cp5; float facteur = 0.05; PVector position, destination; PVector[] tableau; int bordure, taille; void setup() { size(600, 400); noStroke(); bordure = 100; taille = 30; cp5 = new ControlP5(this); for (int i = 0; i < 5; i++) { cp5.addButton("bouton " + (i + 1)) .setId(i) .setValue(0) .setPosition(10, 10 + i * 85) .setSize(bordure - 20, 40) ; } destination = new PVector(bordure + taille / 2, taille / 2); position = destination.get(); tableau = new PVector[5]; for (int i = 0; i < tableau.length; i++) { tableau[i] = new PVector(random(bordure + taille / 2, width - taille / 2), random(taille / 2, height - taille / 2)); } } void draw() { background(0); fill(200); rect(0, 0, bordure, height); PVector diff = PVector.sub(destination, position); if (diff.mag() > 1) { diff.mult(facteur); position.add(diff); } fill(255); ellipse(position.x, position.y, taille, taille); } public void controlEvent(ControlEvent theEvent) { //println(theEvent.getController().getId()); int id = theEvent.getController().getId(); destination = tableau[id].get(); } |