我正在寫一個基於平鋪的平臺遊戲。目前,我正試圖讓400塊瓷磚一次顯示。這是我的小組。在頂部和左側,一切都很好,但在右側和底部,圖像被幾個像素剪掉。每個圖像是32 * 32。所有的blocks
都被初始化。無爲空。這裏有什麼問題?使用Swing切斷圖像
public class Pane extends JPanel implements ActionListener{
private static final long serialVersionUID = 1L;
Timer timer;
boolean setup = false;
Block[][] blocks;
Level level;
public Pane()
{
level = new Level();
level.Generate();
blocks = level.Parse();
setBackground(Color.WHITE);
timer = new Timer(25, this);
timer.start();
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D)g;
for(Block[] b : blocks)
{
for(Block bx : b)
{
// Debug code if(bx.letter.equals("D"))
// Debug codeSystem.out.println(bx.y*32 +" = "+ bx.x*32);
g2d.drawImage(bx.bpic, bx.x*32, bx.y*32, this);
}
}
Toolkit.getDefaultToolkit().sync();
g.dispose();
}
@Override
public void actionPerformed(ActionEvent e) {
repaint();
}
}
我的窗格填滿了窗口(640 * 640)圖像在窗口的側面和底部被切掉。 – jbills
@jbills:您的窗格是直接添加到框架還是容器組件? – Heisenbug
直接我想。添加(新窗格());在我的框架構造函數 – jbills