Processing Animation Bild-Position ändern

Anica

Neues Mitglied
Hallo,
ich baue gerade eine kleine animation für mich. Ich probiere schon seit Tagen verschiedene Funktionen aus, nur leider bekomme ich das nicht hin.

Und zwar möchte ich gerne die Position von image(gluehbirne, 0, 0); ändern. Wenn ich jedoch einen anderen Wert bei 0 angebe, wirkt sich das auf die Drehung aus. Eigentlich wollte ich, dass die Animation nur 2x durchläuft und dann automatisch stoppt. Aber das einzige was ich hinbekommen habe war eine noLoop(); funktion die durch mousepressed durchgeführt wird. Was mache ich falsch?

Danke für Eure Mühe.

Code:
PImage gluehbirne;
PImage bg;
float rad;

void setup() {
  size(770, 660);
  imageMode(CENTER);
  gluehbirne = loadImage("gluehbirne.png");
  bg = loadImage("gluehbirne_linie.png");
}

void draw() {
 
  background(255);
  //radius = map(sin(theta), -1, 1, 50, 200);
  translate(width/2, height/2);
  image(bg,0,0);

  rotate (rad);
  image(gluehbirne,0,0);
 
  rad+=PI/50;
}
 
Processing?
Wikipedia Zitat: "..Processing hat den Charakter einer stark vereinfachten Version der Programmiersprache Java.. und richtet sich vorwiegend an Gestalter, Künstler und Programmieranfänger."
Warum nicht gleich Java? Wo liegen die Vorteile der Sprache? Ist Java nicht ebenso Quelloffen?
 
Methode image her!

Bearbeitung: Oh Pardon sehe erst jetzt dass ich sich nicht Java ist handelt.🙁
 
Lesen: https://processing.org/reference/image_.html

Java:
PImage gluehbirne;
//PImage bg;
int indx = 0;

void setup() {
  size(770, 660);
  //imageMode(CENTER);
  gluehbirne = loadImage("co3.png");
  //bg = loadImage("gluehbirne_linie.png");
  frameRate(10);
}

void draw() {
  background(127);
  if (indx < 50) {
    translate(width/50.0*indx, height/2);
  } else {
    translate(width-width/50.0*(indx-50), height/2);
  }
  pushMatrix();
  rotate (radians(7.2*indx));
  image(gluehbirne, 0, 0);
  popMatrix();
  indx = ++indx % 100;
}

Das Image bewegt sich von links nach rechts und von rechts nach links und dreht sich um sich selber, genau wie gewünscht.

imageMode(CENTER); falsch
frameRate(10); vergessen
pushMatrix(); und pop vergessen....

rotate rotiert das Koordinaten System, translate das Koordinatensystem....
 
Warum nicht gleich Java? Wo liegen die Vorteile der Sprache?
Mal von deren FAQs
Processing is not intended as the ultimate environment or language (in fact, the language is just Java, but with a new graphics and utility API along with some simplifications). Fundamentally, Processing just assembles our experience in building things, and trying to simplifies the parts that we felt should be easier.
 
Lesen: https://processing.org/reference/image_.html

Java:
PImage gluehbirne;
//PImage bg;
int indx = 0;

void setup() {
  size(770, 660);
  //imageMode(CENTER);
  gluehbirne = loadImage("co3.png");
  //bg = loadImage("gluehbirne_linie.png");
  frameRate(10);
}

void draw() {
  background(127);
  if (indx < 50) {
    translate(width/50.0*indx, height/2);
  } else {
    translate(width-width/50.0*(indx-50), height/2);
  }
  pushMatrix();
  rotate (radians(7.2*indx));
  image(gluehbirne, 0, 0);
  popMatrix();
  indx = ++indx % 100;
}

Das Image bewegt sich von links nach rechts und von rechts nach links und dreht sich um sich selber, genau wie gewünscht.

imageMode(CENTER); falsch
frameRate(10); vergessen
pushMatrix(); und pop vergessen....

rotate rotiert das Koordinaten System, translate das Koordinatensystem....


Nein.. das ist eben nicht gewünscht. Ich möchte mein Bild einfach nur rechts in der ecke platzieren. Es soll sich nicht von links nach rechts bewegen.
Und es soll wirklich nur 1x oder 2x die Rotation durchgeführt werden.
 
Zuletzt bearbeitet:

Zurück
Oben