Hallo,
arbeite grade an einem kleinen tutorial, doch im Video hat der Herr keinen Fehler mit dem repaint, ich jedoch schon. der Befehl >EXIT_ON_CLOSE< ist auch nicht möglich :/
das Tutorial Java Spieleprogrammierung 1: Grundgerüst - YouTube
Main
Frame
Player
keyCheck
arbeite grade an einem kleinen tutorial, doch im Video hat der Herr keinen Fehler mit dem repaint, ich jedoch schon. der Befehl >EXIT_ON_CLOSE< ist auch nicht möglich :/
das Tutorial Java Spieleprogrammierung 1: Grundgerüst - YouTube
Main
Java:
import java.awt.Frame;
import java.awt.GraphicsConfiguration;
import javax.swing.JFrame;
public class Main {
public static void main(String[] args)
{
Player player = new Player();
Frame frm = new Frame(player);
frm.setLayout(null);
frm.setSize(800, 600);
frm.setVisible(true);
frm.setDefaultCloseOperation(Frame.EXIT_ON_CLOSE);
while(true)
{
player.update();
frm.repaintScreen();
try
{ Thread.sleep(15);
}catch(InterruptedException e)
{e.printStackTrace();}
}
}
}
Frame
Java:
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Frame extends JFrame{
paint zeichnen;
Player player;
public Frame(Player player)
{
super("MyGame v1.0");
this.player = player;
zeichnen = new paint();
zeichnen.setBounds(0, 0, 800, 600);
addKeyListener(new keyCheck());
add(zeichnen);
}
public void repaintScreen()
{
zeichnen.repaint();
}
private class paint extends JLabel
{
@Override
protected void paintComponent(Graphics g){
super.paintComponents(g);
g.fillRect(player.getBounding().x, player.getBounding().y, player.getBounding().width, player.getBounding().height);
}
}
}
Java:
import java.awt.Rectangle;
import java.awt.event.KeyEvent;
public class Player {
Rectangle bounding;
private int ply_x;
private int ply_y;
public Player()
{
ply_x = 200;
ply_y = 450;
bounding = new Rectangle( ply_x, ply_y, 70,70);
}
public void update()
{
if(keyCheck.keysCheck(KeyEvent.VK_A))
{
ply_x -=5;
}
if(keyCheck.keysCheck(KeyEvent.VK_D))
{
ply_x +=5;
}
bounding.x= ply_x;
bounding.y= ply_y;
}
public Rectangle getBounding()
{
return bounding;
}
}
Java:
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class keyCheck implements KeyListener{
private static boolean keys[] = new boolean[100];
public static boolean keysCheck(int keycode){
if(keycode >= 0 &&(keycode )< (keys.length))
return keys[keycode];
else return false;
}
@Override
public void keyPressed(KeyEvent e) {
int KeyCode = e.getKeyCode();
if(KeyCode >= 0 && ((KeyCode )< (keys.length)));
keys[KeyCode] = true;
}
@Override
public void keyReleased(KeyEvent e) {
int KeyCode = e.getKeyCode();
if((KeyCode >= 0) && ((KeyCode )< (keys.length)))
keys[KeyCode] = false;
}
@Override
public void keyTyped(KeyEvent e) {
}
Zuletzt bearbeitet: