Advertisement
ignacy123

FlappyBird - GamePanel

May 6th, 2024 (edited)
538
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.93 KB | None | 0 0
  1. import javax.swing.*;
  2. import java.awt.*;
  3.  
  4. public class GamePanel extends JPanel implements Runnable {
  5.  
  6.     private final Thread thread = new Thread(this);
  7.  
  8.     private final Player player;
  9.  
  10.     public GamePanel(Player player) {
  11.         this.player = player;
  12.         thread.start();
  13.         setBackground(Color.BLACK);
  14.         addKeyListener(player);
  15.         setFocusable(true);
  16.     }
  17.  
  18.     @Override
  19.     public void run() {
  20.         while (thread != null) {
  21.  
  22.             update();
  23.             try {
  24.                 Thread.sleep(16);
  25.             } catch (InterruptedException e) {
  26.                 throw new RuntimeException(e);
  27.             }
  28.             repaint();
  29.         }
  30.     }
  31.  
  32.     @Override
  33.     protected void paintComponent(Graphics g) {
  34.         super.paintComponent(g);
  35.         Graphics2D g2 = (Graphics2D) g;
  36.         player.drawPlayer(g2);
  37.     }
  38.  
  39.     private void update() {
  40.         player.update();
  41.     }
  42. }
  43.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement