importjava.awt.*;importjava.awt.event.KeyAdapter;importjava.awt.event.KeyEvent;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;publicclassTankClientex...
import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class TankClient extends Frame
{
public static final int GAME_WIDTH=800;
public static final int GAME_HIGTH=600;
int x=50,y=50;
Image offScreenImage =null;
public void paint(Graphics g)
{
Color c = g.getColor();
g.setColor(Color.RED);
g.fillOval(x,y,30,30);
g.setColor(c);
}
public void update(Graphics g)
{
if(offScreenImage==null)
{
offScreenImage =this.createImage(GAME_WIDTH,GAME_HIGTH);
}
Graphics goffScreen = offScreenImage.getGraphics();
Color c=goffScreen.getColor();
goffScreen.setColor(Color.GREEN);
goffScreen.fillRect(0, 0, GAME_WIDTH,GAME_HIGTH);
paint(goffScreen);
g.drawImage(offScreenImage,0,0,null);
}
public void lauchFrame()
{
this.setLocation(400,300);
this.setSize(GAME_WIDTH,GAME_HIGTH);
this.setTitle("Tankwar");
this.addWindowListener( new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
this.setResizable(false);
this.setBackground(Color.GREEN);
this.addKeyListener( new KeyMonitor());
setVisible(true);
new Thread(new PaintThread()).start();
}
public static void main(String[] args)
{
TankClient tc =new TankClient();
tc.lauchFrame();
}
private class PaintThread implements Runnable
{
public void run()
{
while(true)
{
repaint();
try
{
Thread.sleep(65);
}
catch(InterruptedException e)
{
e.printStackTrace();
}
}
}
}
private class KeyMonitor extends KeyAdapter
{
public void KeyPressed(KeyEvent e)
{
System.out.print("fasdfffsafdfsfdffad");
int key=e.getKeyCode();
switch(key)
{
case KeyEvent.VK_RIGHT:
x+=5;break;
case KeyEvent.VK_DOWN:
y+=5;
case KeyEvent.VK_LEFT:
x-=5;break;
case KeyEvent.VK_UP:
y+=5;break;
}
}
}
}
展开