importjavax.swing.ImageIcon;importjavax.swing.SwingUtilities;importjava.awt.BorderLayout;importjava.awt.Graphics;importjava.awt.Graphics2D;importjava.awt.Image;importjava...
import javax.swing.ImageIcon;
import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import javax.swing.JPanel;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
public class testFrame extends JFrame implements KeyListener {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private Image map1=null; // @jve:decl-index=0:
private Image map2=null; // @jve:decl-index=0:
private int x=-600,y=0;
public void keyPressed(KeyEvent arg0) {
// TODO 自动生成方法存根
if(arg0.getKeyCode()==65)
{
this.update(this.getGraphics());
}
}
public void update(Graphics g)
{
x-=10;
g.drawImage(map1, x, y, null);
g.drawImage(map2,1200-x,0,null);
if(x==-1200)
{
x=1200;
}
}
public void keyReleased(KeyEvent arg0) {
// TODO 自动生成方法存根
}
public void keyTyped(KeyEvent arg0) {
// TODO 自动生成方法存根
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
SwingUtilities.invokeLater(new Runnable() {
public void run() {
testFrame thisClass = new testFrame();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}
/**
* This is the default constructor
*/
public testFrame() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(1100, 900);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
this.addKeyListener(this);
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
}
return jContentPane;
}
public void paint(Graphics g){
map1=new ImageIcon("12.jpg").getImage();
map2=new ImageIcon("12.jpg").getImage();
g.drawImage(map1, 0, 0, null);
g.drawImage(map2, 1200,0 ,null);
}
}
按a移动背景的时候屏幕会花了请高手指教一下,做游戏移动背景啊,谢谢你们了
展开
本文探讨了一个简单的Java Swing游戏框架中背景图片移动的问题。当按下特定按键时,背景图会出现显示异常。文中提供了完整的代码示例,并寻求解决该问题的方法。
1285

被折叠的 条评论
为什么被折叠?



