playerX+=1in ActionPerformed it moves, so it must be the KeyListener. What's wrong?
/**
* <p>Title: Swarm</p>
* <p>Description: Shoot any ship that isn't yours.</p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: Hot Metal Software</p>
* @author Matthew Dyck a.k.a. Big Cheez
* @version 1.0
*/
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Swarm extends JPanel implements KeyListener, ActionListener{
Image player;
Timer gameTimer;
boolean frozen=false;
int playerX=0;
final int WIND_X=800;
final int WIND_Y=600;
boolean rapidFire=false;
boolean doubleBlasters=false;
boolean syncBlasters=false;
final int SHOT_DELAY=20;
final int SYNC_SHOT_DELAY=10;
boolean lastFired=false;
final int RAPID_SHOT_DELAY=5;
boolean laser=false;
public static void main(String args[]){
JFrame mainFrame=new JFrame();
Swarm mainPanel=new Swarm();
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.getContentPane().add(mainPanel);
mainFrame.pack();
mainFrame.show();
}
Swarm(){
initGraphics();
initKey();
iniTimer();
gameTimer.start();
}
void initGraphics(){
player=getToolkit().getImage("img/player.gif");
}
void initKey(){
addKeyListener(this);
}
void iniTimer(){
gameTimer=new Timer(1,this);
gameTimer.setInitialDelay(1);
gameTimer.setCoalesce(true);
}
public void keyTyped(KeyEvent k){
}
public void keyPressed(KeyEvent k){
if(k.getKeyCode()==k.VK_RIGHT){
playerX+=1;
System.out.println("Right");
}
if(k.getKeyCode()==k.VK_LEFT){
playerX-=1;
System.out.println("Left");
}
if(k.getKeyCode()==k.VK_X){
frozen=!frozen;
System.out.println("X");
if(frozen){
gameTimer.stop();
}else{
gameTimer.start();
}
}
}
public void keyReleased(KeyEvent k){
if(k.getKeyCode()==k.VK_RIGHT){
playerX+=1;
System.out.println("Right-Released");
}
if(k.getKeyCode()==k.VK_LEFT){
playerX-=1;
System.out.println("Left-Released");
}
}
public void actionPerformed(ActionEvent a){
playerX+=1;
repaint();
}
public void paintComponent(Graphics gOrig){
Graphics2D g=(Graphics2D)gOrig;
g.drawImage(player,playerX,WIND_Y-32,this);
}
}
[edited by - Big Cheez on March 3, 2004 6:31:45 AM]