Wie mache ich ein Rechteck über den Bildschirm bewegt mit key bindings?

Dem Spiel, das ich versuche zu erstellen ist snake und ich habe bisher herausgefunden, wie es zu verwenden paint(Graphics g) ein bisschen JPanel -, Maus-listener und jetzt versuche ich, um ein Rechteck zu erstellen, wird auf dem Bildschirm bewegen, und verwenden Sie die Tastaturbelegung oder key-listener, aber ich habe keine Ahnung, wie ich gehen sollte, über diese.

Hier ist mein code bisher, es hat 2 Teile.
Der erste Teil heißt snake2 weil wenn ich nicht weiß, was ich Tue, mache ich das gleiche Programm mit verschiedenen Dingen. Snake verwendet Rahmen, aber Snake2 verwendet JPanel (sieht besser aus...)

    import java.awt.*;

    //required for MouseListener
    import java.awt.event.*;

    //requied for Graohics
    import java.applet.*;
    import javax.swing.*;

    public class Snake2 extends JPanel
    {
      private Rectangle sampleObject;

      public Snake2()
      {
         addMouseListener(new MouseListener());

      }


      /* create background */
      public void paint (Graphics g)
      {
        Font angel = new Font("Angelic War", Font.BOLD, 60);
        Font ith = new Font("Ithornît", Font.BOLD, 78);

        setBackground(Color.darkGray);
        g.setColor(Color.darkGray);
        g.fillRect(0,0,700,850);
        g.setColor(Color.gray);
        g.fillRect(50,150,600,650);
        g.setColor(Color.white);
        g.drawRect(50,150,600,650);

        g.drawString("Quit",52,116);
        g.drawRect(50,100,30,20);

        //g.setFont(angel);
        //g.drawString("SNAKE",300,70);
        g.setFont(ith);
        g.drawString("SNAKE",280,90);  
      }

      public void sprite (int x, int y, Graphics g){
        g.setColor(Color.white);
        g.fillRect(300,200,10,10);
      }

      public void start (int x, int y, Graphics g){
        g.setColor(Color.white);
        g.drawString("START GAME",300,425);
      }
    }


    /* Tracks where mouse is clicked */
    class MouseListener extends MouseAdapter
    {
      public void mouseReleased(MouseEvent me)
      {
        if (me.getX() >= 50 && me.getX() <= 80 && me.getY() >= 100 && me.getY() <= 120)
        {
          System.exit(0);
        }

          String str="Mouse Released at "+me.getX()+","+me.getY();
          System.out.println(str);
      }
    }

Und der zweite Teil ist:

    import javax.swing.JFrame;
    import java.awt.Dimension;

    public class SnakeDisplay
    {

      public static void main ( String [ ] arguments )
      {   
        JFrame frame = new JFrame ( "Snake" );
        Snake2 panel = new Snake2 ( );


        frame.setDefaultCloseOperation ( JFrame.EXIT_ON_CLOSE );
        frame.add ( panel );
        frame.setContentPane ( panel );

        frame.setPreferredSize ( new Dimension ( 700, 850 ) );
        //frame.setLocationRelativeTo ( null );
        frame.setVisible ( true );
        frame.pack ( );     
      }
    }
Was genau Fragen Sie? Wie eine Schleife über einige Spiel-Logik, so dass die Schlange bewegt?
Sehen Sie, wenn Sie Performing Custom Painting tutorial beantwortet Ihre Fragen.
Diese Frage hat Potenzial, wenn Sie es umformulieren, um genauer zu sein, aber jetzt ist es in Gefahr, geschlossen. Ich denke, es könnte wiederhergestellt werden, wenn.

InformationsquelleAutor user3146998 | 2013-12-30

Schreibe einen Kommentar