我需要一點幫助,我是新的語言,因此我不知道如何實現這樣的。我需要一點幫助在Java網格上實現玩家動作
我已經做了一個基本的15; 40格JLabel圖片,感謝這個網站,以及我需要幫助的是關於如何使一個球員(假設是一個圖像,也顯示在網格上)移動圍繞使用WASD(我不知道Ascii-approach是否適用於Java)或箭頭鍵。
下面是我對電網
public class GUI {
static Scanner cns = new Scanner(System.in);
JFrame frame = new JFrame();
ImageIcon ImageIcon = new ImageIcon("Grass.png");
JLabel[][] grid;
public GUI(int width, int length) {
Container pane = frame.getContentPane();
frame.setLayout(new GridLayout(width,length));
grid = new JLabel[width][length];
for(int y = 0; y < length; y++) {
for(int x = 0; x < width; x++) {
grid[x][y] = new JLabel();
grid[x][y].setBorder(BorderFactory.createLineBorder(Color.black));
grid[x][y].setBorder(BorderFactory.createEmptyBorder());
}
}
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
for(int y = 0; y < length; y++) {
for(int x = 0; x < width; x++) {
pane.add(grid[x][y]= new JLabel(new ImageIcon("Grass.png")));
grid[x][y].setBorder(BorderFactory.createLineBorder(Color.black));
grid[x][y].setBorder(BorderFactory.createEmptyBorder());
frame.add(grid[x][y]);
}
}
}
public static void main(String[] args) {
new GUI(15, 40);
}
}
而不是使用掃描儀,我建議你使用KeyListeners。 http://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html –
我曾嘗試使用KeyListener。但我的播放器甚至不會顯示... D: – Einelle
好的,我很快就會發佈一個答案,我會在我回家後添加一個深入的例子... –