Bewegung eines Balles in Richtung Mouse: Unterschied zwischen den Versionen
Zeile 1: | Zeile 1: | ||
{{#ev:youtube|https://youtu.be/LTma1snjVrU}} | {{#ev:youtube|https://youtu.be/LTma1snjVrU}} | ||
+ | |||
+ | = Der Code zum selbst Ausprobieren = | ||
+ | <pre> | ||
+ | Wanderer wandersfrau; | ||
+ | Wanderer wandersmann; | ||
+ | |||
+ | void setup() { | ||
+ | size(400,400); | ||
+ | wandersfrau = new Wanderer(200,200); | ||
+ | wandersmann = new Wanderer(0,0); | ||
+ | } | ||
+ | |||
+ | void draw() { | ||
+ | background(120); | ||
+ | wandersfrau.bewegen(); | ||
+ | wandersfrau.beamen(); | ||
+ | wandersfrau.display(); | ||
+ | |||
+ | wandersmann.bewegen(); | ||
+ | wandersmann.beamen(); | ||
+ | wandersmann.display(); | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | class Wanderer { | ||
+ | PVector ort; | ||
+ | PVector geschwindkeit; | ||
+ | PVector beschleunigung; | ||
+ | |||
+ | Wanderer(float x, float y) { | ||
+ | ort = new PVector(x,y); | ||
+ | geschwindkeit = new PVector(-1,10); | ||
+ | //beschleunigung = new PVector(0.1,0); | ||
+ | } | ||
+ | |||
+ | void bewegen() { | ||
+ | PVector mouse = new PVector(mouseX, mouseY); | ||
+ | mouse.sub(ort); | ||
+ | mouse.setMag(20); | ||
+ | beschleunigung = mouse; | ||
+ | //beschleunigung = PVector.random2D(); | ||
+ | geschwindkeit.add(beschleunigung); | ||
+ | geschwindkeit.limit(2); | ||
+ | ort = ort.add(geschwindkeit); | ||
+ | } | ||
+ | |||
+ | void display() { | ||
+ | circle(ort.x, ort.y, 50); | ||
+ | } | ||
+ | |||
+ | void beamen() { | ||
+ | if (ort.x > width) { | ||
+ | ort.x = 0; | ||
+ | } | ||
+ | if (ort.x < 0) { | ||
+ | ort.x = width; | ||
+ | } | ||
+ | if (ort.y > height) { | ||
+ | ort.y = 0; | ||
+ | } | ||
+ | if (ort.y < 0) { | ||
+ | ort.y = height; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | } | ||
+ | </pre> |
Version vom 29. März 2020, 15:55 Uhr
Der Code zum selbst Ausprobieren
Wanderer wandersfrau; Wanderer wandersmann; void setup() { size(400,400); wandersfrau = new Wanderer(200,200); wandersmann = new Wanderer(0,0); } void draw() { background(120); wandersfrau.bewegen(); wandersfrau.beamen(); wandersfrau.display(); wandersmann.bewegen(); wandersmann.beamen(); wandersmann.display(); } class Wanderer { PVector ort; PVector geschwindkeit; PVector beschleunigung; Wanderer(float x, float y) { ort = new PVector(x,y); geschwindkeit = new PVector(-1,10); //beschleunigung = new PVector(0.1,0); } void bewegen() { PVector mouse = new PVector(mouseX, mouseY); mouse.sub(ort); mouse.setMag(20); beschleunigung = mouse; //beschleunigung = PVector.random2D(); geschwindkeit.add(beschleunigung); geschwindkeit.limit(2); ort = ort.add(geschwindkeit); } void display() { circle(ort.x, ort.y, 50); } void beamen() { if (ort.x > width) { ort.x = 0; } if (ort.x < 0) { ort.x = width; } if (ort.y > height) { ort.y = 0; } if (ort.y < 0) { ort.y = height; } } }