Hey all. I've been working on my pc lately using eclipse and java applets. I want to switch over to my mac, but using vim and the command line instead of eclipse. Every time I try to compile, it tells me I don't have a main function added, which I didn't need while I was using eclipse. Can someone help me out? I'll post some relevant code. Thanks!
import java.applet.Applet;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
public class Main extends Applet implements Runnable, KeyListener {
private Animator animateRight, animateLeft, animateUp, animateDown;
private ArrayList<BufferedImage> spriteRight, spriteLeft, spriteUp, spriteDown;
private Image image;
private Graphics second;
private URL base;
private Player player;
private boolean left, right, down, up;
private String lastDir;
private long animateSpeed;
BufferedImageLoader loader;
BufferedImage spriteSheet;
SpriteSheet ss;
public void init() {
setSize(1200, 800);
setBackground(Color.BLACK);
setFocusable(true);
addKeyListener(this);
Frame frame = (Frame) this.getParent().getParent();
frame.setTitle("RPG v. 0.0.1");
try {
base = getDocumentBase();
} catch (Exception e) {
e.printStackTrace();
}
setUpAnimations();
left = down = right = up = false;
}
public void start() {
Thread thread = new Thread(this);
player = new Player();
thread.start();
}
@Override
public void run() {
// TODO Auto-generated method stub
while (true) {
player.update();
repaint();
try {
Thread.sleep(17);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public void update(Graphics g) {
if (image == null) {
image = createImage(this.getWidth(), this.getHeight());
second = image.getGraphics();
}
second.setColor(getBackground());
second.fillRect(0, 0, getWidth(), getHeight());
second.setColor(getForeground());
paint(second);
g.drawImage(image, 0, 0, this);
}
public void paint(Graphics g) {
if(right){
animateRight.update(System.currentTimeMillis());
g.drawImage(animateRight.sprite, player.getPosX(), player.getPosY(), this);
}
else if(left){
animateLeft.update(System.currentTimeMillis());
g.drawImage(animateLeft.sprite, player.getPosX(), player.getPosY(), this);
}
else if(up) {
animateUp.update(System.currentTimeMillis());
g.drawImage(animateUp.sprite, player.getPosX(), player.getPosY(), this);
}
else if(down) {
animateDown.update(System.currentTimeMillis());
g.drawImage(animateDown.sprite, player.getPosX(), player.getPosY(), this);
}
}
public void stop() {
}
public void destroy() {
}
@Override
public void keyPressed(KeyEvent e) {
switch(e.getKeyCode()) {
case KeyEvent.VK_A:
player.moveLeft();
player.setMovingLeft(true);
left = true;
lastDir = "left";
break;
case KeyEvent.VK_D:
player.moveRight();
player.setMovingRight(true);
right = true;
lastDir = "right";
break;
case KeyEvent.VK_W:
player.moveUp();
player.setMovingUp(true);
up = true;
lastDir = "up";
break;
case KeyEvent.VK_S:
player.moveDown();
player.setMovingDown(true);
down = true;
lastDir = "down";
break;
}
}
@Override
public void keyReleased(KeyEvent e) {
switch (e.getKeyCode()) {
case KeyEvent.VK_W:
up = false;
player.setMovingUp(false);
break;
case KeyEvent.VK_S:
down = false;
player.setMovingDown(false);
break;
case KeyEvent.VK_A:
left = false;
player.setMovingLeft(false);
break;
case KeyEvent.VK_D:
right = false;
player.setMovingRight(false);
break;
case KeyEvent.VK_SPACE:
break;
case KeyEvent.VK_CONTROL:
break;
}
}
@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
public void setUpAnimations() {
animateSpeed = 75;
loader = new BufferedImageLoader();
spriteSheet = null;
try {
spriteSheet = loader.loadImage("sprites_map_claudius.png");
} catch (IOException e) {
e.printStackTrace();
}
ss = new SpriteSheet(spriteSheet);
spriteDown = new ArrayList<BufferedImage>();
for (int i = 0; i < 5; i++) {
if ( i == 0 ) {
spriteDown.add(ss.grabSprite(0, 0, 32, 62));
}
else {
spriteDown.add(ss.grabSprite(32*i, 0, 32, 62));
}
}
animateDown = new Animator(spriteDown);
animateDown.setSpeed(animateSpeed);
animateDown.start();
spriteLeft = new ArrayList<BufferedImage>();
for (int i = 0; i < 5; i++) {
if ( i == 0 ) {
spriteLeft.add(ss.grabSprite(0, 62, 32, 62));
}
else {
spriteLeft.add(ss.grabSprite(32*i, 62, 32, 62));
}
}
animateLeft = new Animator(spriteLeft);
animateLeft.setSpeed(animateSpeed);
animateLeft.start();
spriteUp = new ArrayList<BufferedImage>();
for (int i = 0; i < 5; i++) {
if ( i == 0 ) {
spriteUp.add(ss.grabSprite(0, 62*2, 32, 62));
}
else {
spriteUp.add(ss.grabSprite(32*i, 62*2, 32, 62));
}
}
animateUp = new Animator(spriteUp);
animateUp.setSpeed(animateSpeed);
animateUp.start();
spriteRight = new ArrayList<BufferedImage>();
for (int i = 0; i < 5; i++) {
if ( i == 0 ) {
spriteRight.add(ss.grabSprite(0, 62*3, 32, 62));
}
else {
spriteRight.add(ss.grabSprite(32*i, 62*3, 32, 62));
}
}
animateRight = new Animator(spriteRight);
animateRight.setSpeed(animateSpeed);
animateRight.start();
}
}