Ich werde so schnell bleiben.Wie man einen Kreis springt von einer Ecke eines Rechtecks - Verarbeitung
Nur ein Verarbeitungsprogramm machen, wo der Ball vom Rechteck springt.
Im Moment kann ich nur herausfinden, wie man die obere, linke, rechte und untere Seite macht, aber wenn der Ball in die Ecken des Rechtecks geht, springt er nicht ab, sondern geht in das Rechteck und danach 1 oder 2 Bounces werden freigegeben.
Ich möchte nur wirklich wissen, wie ich darum, den Ball gehen sollte die Ecken des Rechtecks ablenken weg, so dass es Glitch doens't
Hier ist mein Code:
float x = 100, y = 100, radius = 50;
float vx = 3, vy = 3;
float MX = 0;
float MY = 0;
void setup() {
size(500, 700);
}
void draw() {
background(0);
fill(255);
x += vx;
y += vy;
if (x + radius > width) {
vx = vx * -1;
}
//makes the ball bounce off the right
if (x - radius < 0) {
vx = vx * -1;
}
//makes the ball bounce off the left
if (y + radius > height) {
vy = vy * -1;
y = height - radius;
}
//make the ball bounce off the top
if (y - radius < 0) {
vy = vy * -1;
y = radius;
}
//makes the ball bounce off the top
if (y + radius > MY && x + radius > MX + 50 && x + radius < MX + 150 &&
y + radius < MY + 20) {
vy *= -1;
y = MY - 3 - radius;
} //Top Side
if (x - radius < MX + 100 && y > MY - 10 && y < MY + 10 && x - radius > MX) {
vx *= -1;
} // Right Side
if (y - radius < MY + 20 && x + radius > MX + 50 && x + radius < MX + 150 &&
y - radius > MY) {
vy *= -1;
y = MY + 20 + radius;
} //Bottom Side
if (x + radius > MX && y > MY - 10 && y < MY + 10 && x + radius < MX + 100) {
vx *= -1;
} // Left Side
ellipse(x, y, radius * 2, radius * 2);
rect(MX, MY, 100, 20);
}
void mouseMoved() {
MX = mouseX - 50;
MY = mouseY - 10;
if (MX < 0) {
MX = 0;
}
if (MX > 400) {
MX = 400;
}
if (MY < 0) {
MY = 0;
}
if (MY > 680) {
MY = 680;
}
Sorry, ich tun wissen, wissen, wie Sie den Code sehr gut einfügen, ich bin neu auf dieser Seite, bitte Gnade haha :)
Prost
Sind Sie in der gleichen Klasse wie diese Person? http://stackoverflow.com/questions/38559208/circle-and-rectangle-collision –