72 lines
1.8 KiB
Java
72 lines
1.8 KiB
Java
package xfe.panels;
|
|
|
|
import javax.swing.JPanel;
|
|
|
|
import main.java.xfe.model.World;
|
|
|
|
import java.awt.Color;
|
|
import java.awt.Graphics;
|
|
import java.awt.Graphics2D;
|
|
import java.awt.event.KeyEvent;
|
|
import java.awt.event.KeyListener;
|
|
import java.awt.event.MouseListener;
|
|
import java.awt.event.MouseEvent;
|
|
|
|
public class GamePanel extends JPanel {
|
|
World world;
|
|
|
|
public GamePanel() {
|
|
this.addKeyListener(new GameKeyListener());
|
|
this.addMouseListener(new GameMouseListener());
|
|
|
|
this.world = new World();
|
|
}
|
|
|
|
@Override
|
|
public void paintComponent(Graphics g) {
|
|
Graphics2D g2d = (Graphics2D) g;
|
|
|
|
g2d.setColor(Color.BLACK);
|
|
g2d.fillRect(0, 0, getWidth(), getHeight());
|
|
|
|
// Main draw function here
|
|
this.world.draw(g2d);
|
|
}
|
|
|
|
class GameKeyListener implements KeyListener {
|
|
@Override
|
|
public void keyTyped(KeyEvent e) {}
|
|
|
|
@Override
|
|
public void keyPressed(KeyEvent e) {
|
|
switch (e.getKeyCode()) {
|
|
case KeyEvent.VK_W -> world.getCamera().toggleMovingUp();
|
|
case KeyEvent.VK_S -> world.getCamera().toggleMovingDown();
|
|
case KeyEvent.VK_D -> world.getCamera().toggleMovingRight();
|
|
case KeyEvent.VK_A -> world.getCamera().toggleMovingLeft();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void keyReleased(KeyEvent e) {}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
class GameMouseListener implements MouseListener {
|
|
@Override
|
|
public void mouseClicked(MouseEvent e) {}
|
|
|
|
@Override
|
|
public void mousePressed(MouseEvent e) {}
|
|
|
|
@Override
|
|
public void mouseReleased(MouseEvent e) {}
|
|
|
|
@Override
|
|
public void mouseEntered(MouseEvent e) {}
|
|
|
|
@Override
|
|
public void mouseExited(MouseEvent e) {}
|
|
} |