I am having trouble with making an image collide with something
The image i use: https://drive.google.com/file/d/1yGA6DMe9KDWJG15VfWLT1DlvyNVDuhCg/view
The code:
Ship Ship;
Obstacles Obstacles;
//KeyBinds Keys;
PImage ship;
float x, y, w, h;
float obsX = 1920;
float vel = 1;
float aceleramento = 0.7;
float acelerar = 0.7;
int vel_maxima = 30;void setup() {
size(1920, 1000);
surface.setLocation(0, 0);
ship = loadImage(“ship.png”);
Ship = new Ship();
Obstacles = new Obstacles();
//Keys = new KeyBinds();
x = 100;
y = 100;
w = ship.width;
h = ship.height;
}void draw() {
y += vel;
vel += acelerar;background(255);
//Keys.keybinds();
Obstacles.circles();
Ship.rotating();
Ship.actions();
println(x, y);
}class Obstacles {
void circles() {
obsX -= 5;
pushMatrix();
translate(obsX, width/2);
fill(0);
circle(0, 0, 100);
popMatrix();
}
}class Ship {
void rotating() {
imageMode(CENTER);
pushMatrix();
translate(x, y);
rotate(radians(vel));
image(ship, 0, 0);
popMatrix();
imageMode(CORNER);
}void actions() {
if (mousePressed) {
if (mouseButton == LEFT) {
acelerar = -aceleramento;
}
} else {
acelerar = aceleramento;
}if (y > height - 45) { y = height - 45; vel = 0; } if (y < height - height + 45) { y = height - height + 45; vel = 0; } if(vel > vel_maxima) { vel = vel_maxima; }else if(vel < -vel_maxima) { vel = -vel_maxima; } if (dist(height - height + 45, height - height + 45, y, y) < 20 && mousePressed) { y = height - height + 45; vel = 0; } else if (dist(height - 45, height - 45, y, y) < 30 && !mousePressed) { y = height - 45; vel = 0; }
}
}
If someone can help me with this it would be great! Also if the code can be a little… “optimized”, tell me pls