2016-05-05 27 views
0

Ich mache ein Spiel für mein Schulprojekt am Ende des Jahres und in meinem Spiel muss es möglich sein, den Spieler mit den Pfeiltasten über den Bildschirm zu bewegen. Ich möchte das Bild (playerUpImageLabel) mit meinen Pfeiltasten verschieben, aber ich weiß nicht wie. Ich habe versucht, mich online umzusehen, wie man das macht, aber kein Glück.JAVA- Verschieben eines Bildes mit den Pfeiltasten

Das Programm funktioniert ab sofort, aber ich weiß nicht, wie man das Bild (playerUpImageLabel) mit meinen Pfeiltasten bewegt.

Hilfe bitte?

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 

public class Game { 

    public void game() { 

    JFrame gameFrame = new JFrame(); 
    JPanel gamePanel = new JPanel(); 
    JLabel floorLabel = new JLabel(); 
    JLabel copyrightLabel = new JLabel(); 

    ImageIcon floorImage = new ImageIcon(); 

    int playerMovementX; 
    int playerMovementY; 

    playerMovementX = 280; 
    playerMovementY = 280; 

    ImageIcon playerUpImage = new ImageIcon(); 
    JLabel playerUpImageLabel = new JLabel(); 

    ImageIcon playerLeftImage = new ImageIcon(); 
    JLabel playerLeftImageLabel = new JLabel(); 

    ImageIcon playerRightImage = new ImageIcon(); 
    JLabel playerRightImageLabel = new JLabel(); 

    ImageIcon playerDownImage = new ImageIcon(); 
    JLabel playerDownImageLabel = new JLabel(); 


    ImageIcon playerNormalImage = new ImageIcon(); 
    JLabel playerNormalImageLabel = new JLabel(); 

    gameFrame = new JFrame("Zombehs"); 
    gameFrame.setVisible(true); 
    gameFrame.setSize(600, 620); 
    gameFrame.setResizable(false); 
    gameFrame.setLocationRelativeTo(null); 
    gameFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 


    gamePanel = new JPanel(); 
    gamePanel.setLayout(null); 
    gameFrame.add(gamePanel); 


    floorImage = new ImageIcon(getClass().getResource("/Users/JakeBorg/Desktop/JavaPro/res/floor.png")); 
    floorLabel = new JLabel(floorImage); 
    floorLabel.setBounds(0, 0, 600, 600); 


    copyrightLabel = new JLabel("Copyright @ 2016 Jake_Borg"); 
    copyrightLabel.setFont(new Font("DorFont01", Font.BOLD, 10)); 
    copyrightLabel.setBounds(500, 580, 100, 10); 


    // Player 
    playerUpImage = new ImageIcon(getClass().getResource("/Users/JakeBorg/Desktop/JavaPro/res/player/Up_1.png")); 
    playerUpImageLabel = new JLabel(playerUpImage); 
    playerUpImageLabel.setBounds(playerMovementX, playerMovementY, 33, 33); 

    playerNormalImageLabel = playerUpImageLabel; 



    gamePanel.add(playerNormalImageLabel); 
    gamePanel.add(floorLabel); 
    gamePanel.add(copyrightLabel); 

    } 

} 
+0

Siehe: http://stackoverflow.com/questions/36894487/java-gui-how-to-move-a-ball-using-wasd-keys/36894544#36894544 – camickr

Antwort

0

Sie sollten Key Bindings verwenden. Grundsätzlich müssen Sie eine Action erstellen, die immer aufgerufen wird, wenn ein bestimmter KeyStroke aufgerufen wird.

Überprüfen Sie Motion Using The Keyboard für Arbeitsbeispiele. Außerdem finden Sie Links zum Swing-Tutorial, die Key Bindings und Actions erklären.

Verwandte Themen