Added the function of drawing rectangular hitboxes, as well as the ability to erase and save the result. You need to draw from left to right

This commit is contained in:
2026-03-29 22:47:57 +03:00
parent a0a69c3587
commit 2686d036cf
13 changed files with 190 additions and 180 deletions

View File

@ -31,12 +31,14 @@ public class EditableCanvas extends JPanel implements MouseListener, MouseMotion
hitboxRectengleRenderFunct = new HitboxRectengleRenderingFunction();
hitboxCircleRenderFunct = new HitboxCircleRenderingFunction();
drawboxRectengleRenderFunct.subscribe(Project.getInstance()); // подписка: Project получит данные ввиде обьекта Event, содержащий данные drawbox при отрисовке последней точки из 4-х.
//hitboxPanel.subscribe(Project.getInstance());
hitboxRectengleRenderFunct.subscribe(Project.getInstance());
addMouseListener(this);
addMouseMotionListener(this);
}
public HitboxRectengleRenderingFunction getHitboxRectengleRenderFunct() {
return hitboxRectengleRenderFunct;
}
public void drawing(Graphics2D g) {
if(renderingFunction!=null&&entity!=null) {
@ -58,20 +60,11 @@ public class EditableCanvas extends JPanel implements MouseListener, MouseMotion
public void mouseMoved(MouseEvent e) {
//System.out.println("moved");
if(renderingFunction!=null&&entity!=null) {
System.out.println("x="+e.getX()+"y="+e.getY());
//System.out.println("x="+e.getX()+"y="+e.getY());
renderingFunction.mouseMoved(e);
repaint();
}
}
@Override
public void mouseClicked(MouseEvent e) {
//System.out.println("Clicked");
if(renderingFunction!=null&&entity!=null) {
renderingFunction.mouseClicked(e);
repaint();
}
}
@Override
public void mousePressed(MouseEvent e) {
@ -94,15 +87,16 @@ public class EditableCanvas extends JPanel implements MouseListener, MouseMotion
public void setEntity(Entity e) {
entity = e;
drawboxRectengleRenderFunct.setEntity(e);
drawboxRectengleRenderFunct.setEntityInDrawboxRectengle(e);
hitboxRectengleRenderFunct.setEntityInHtiboxRectengle(e);
}
public void setImage(BufferedImage image) {
this.image = image;
}
@Override
public void mouseClicked(MouseEvent e) {}
@Override
public void mouseDragged(MouseEvent e) {}
@Override