There is a 2D game. It came to taking damage from a character, and I was faced with the problem of touching two pictures. Here there is a picture img and img7, how to make it so that when they touch, the variable healthInteger changes.
public class Main extends JPanel implements ActionListener{ JFrame frame; private int sco = 0; private long t = System.nanoTime(); Player player = new Player(); public Main(JFrame frame) { t1.start(); this.frame = frame; frame.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e) { player.keyPressed(e); } public void keyReleased(KeyEvent e) { player.keyReleased(e); } }); } Timer t1 = new Timer(20, this); public void paint(Graphics g) { Image img = new ImageIcon("resources/testImage.png").getImage(); Image img1 = new ImageIcon("resources/back.png").getImage(); Image img3 = new ImageIcon("resources/as.png").getImage(); Image img4 = new ImageIcon("resources/chest.png").getImage(); Image img5 = new ImageIcon("resources/helth.png").getImage(); g.drawImage(img1, player.getmapX(), player.getmapY(), 3476, 2168, null); g.drawImage(img, 263, 146, null); g.drawImage(img3, player.getBoxX(), player.getBoxY(), null); g.drawImage(img4, player.getChestX(), player.getChestY(), null); g.drawString("SCORE:" + sco, 10, 20); g.drawImage(img5, 10, 30, null); long tm = System.nanoTime() - t; double angle = tm/300000000.0; double sn = Math.sin(Math.sin(angle) * 0.3); double cs = Math.cos(Math.cos(angle) * 0.3); int x = (int) (200 * sn + 150); int y = (int) (200 * cs + 150); int healthInteger = 100; Image img6 = new ImageIcon("resources/evil.png").getImage(); g.drawImage(img6, x+ player.getmapX() + 800, y + player.getmapY() + 500, 40, 40, null); Image img7 = new ImageIcon("resources/evil.png").getImage(); g.drawImage(img7, x+ player.getmapX() + 500, y + player.getmapY() + 500, 40, 40, null); } public void actionPerformed(ActionEvent action) { repaint(); player.move(); } }