Java Side Scroller
Hey can anyone please help me out? I'm trying to create a side scroller game but having some difficulties with the ribbons and making it appear as though the my character is moving. I created this code below but I cannot test if the ribbons work because when I click compile it says there aren't any errors but it won't let me run it. Can anyone please give me some of your expertise on this? Thanks in advance.
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class boxman implements KeyListener {
public int movit = 0;
private static final long TIME = 3000000;
private ScreenManager screen;
private Image bgImage;
private Sprite sprite;
private Sprite rib;
private Image rb34;
public static void main (String args[]) {
boxman test = new boxman();
test.run();
test.addKeyListener(new MyKeyListener());
}
private static final DisplayMode POSSIBLE_MODES[] = {
new DisplayMode(800, 600, 32, 0),
new DisplayMode(800, 600, 24, 0),
new DisplayMode(800, 600, 16, 0),
};
public void loadImages() {
// load images
bgImage = loadImage("c:\\back.png");
/*Image*/ rb34 = loadImage("c:\\back2.png");
Image player1 = loadImage("c:\\boxman.png");
Image player2 = loadImage("c:\\boxman.png");
Image player3 = loadImage("c:\\boxman.png");
// create sprite
Animation anim = new Animation();
anim.addFrame(player1, 250);
anim.addFrame(player2, 150);
anim.addFrame(player1, 150);
anim.addFrame(player2, 150);
anim.addFrame(player3, 200);
anim.addFrame(player2, 150);
sprite = new Sprite(anim);
sprite.setX(200);
sprite.setY(370);
// for (int i=0 ; i < 1; i++ ){
// movit --;
// }
}
private Image loadImage(String fileName) {
return new ImageIcon(fileName).getImage();
}
public void run(){
screen = new ScreenManager();
try {
DisplayMode displayMode =
screen.findFirstCompatibleMode(POSSIBLE_MODES);
screen.setFullScreen(displayMode);
//screen.requestFocus();
loadImages();
animationLoop();
}
finally {
screen.restoreScreen();
}
}
public void animationLoop() {
long startTime = System.currentTimeMillis();
long currTime = startTime;
while (currTime - startTime < TIME) {
long elapsedTime =
System.currentTimeMillis() - currTime;
currTime += elapsedTime;
// update the sprites
update(elapsedTime);
//screen.requestFocus();
// draw and update the screen
Graphics2D g = screen.getGraphics();
draw(g);
g.dispose();
screen.update();
// take a nap
try {
Thread.sleep(20);
/*for (int i=0 ; i < 2; i++ ){
movit --;
}*/
}
catch (InterruptedException ex) { }
}
}
public void update(long elapsedTime) {
// check sprite bounds
if (sprite.getX() < 0) {
sprite.setVelocityX(Math.abs(sprite.getVelocityX()));
}
else if (sprite.getX() + sprite.getWidth() >=
screen.getWidth())
{
sprite.setVelocityX(-Math.abs(sprite.getVelocityX()));
}
if (sprite.getY() < 0) {
sprite.setVelocityY(Math.abs(sprite.getVelocityY()));
}
else if (sprite.getY() + sprite.getHeight() >=
screen.getHeight())
{
sprite.setVelocityY(-Math.abs(sprite.getVelocityY()));
}
// update sprite
sprite.update(elapsedTime);
//rib.update(elapsedTime);
}
public void draw(Graphics g) {
// draw background
g.drawImage(bgImage, 0, 0, null);
//g.drawImage(sprite.getImage(),Math.round(rib.getX()),Math.round(rib.getY()),null);
g.drawImage(rb34,movit ,0 ,null );
// draw sprite
g.drawImage(sprite.getImage(),
Math.round(sprite.getX()),
Math.round(sprite.getY()),
null);
//entp
/*
for (int i=0 ; i < 2; i++ ){
movit --;
}
*/
}
public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
movit = movit -1 ;
} else if (e.getKeyCode() == KeyEvent.VK_LEFT) {
movit = movit +1 ;
}
if (e.getKeyCode() == KeyEvent.VK_UP) {
movit = movit +1 ;
} else if (e.getKeyCode() == KeyEvent.VK_DOWN) {
movit = movit +1 ;
}
movit = movit ;
}
public void keyPressed(KeyEvent e) {
;
}
public void keyTyped(KeyEvent e) {
}
}

