Jump to content

Java Applet


Bluecora

Recommended Posts

Boas, tenho vindo a conter este problema, mas agora com o projecto terminado penso que seria mais fácil para vocês ajudar.

Em primeiro lugar: Realizei um jogo em 2D baseando na ajuda do site thenewboston, o jogo esta terminado, se houver alguma alteração será ao nível de loading de imagens, nada de código em concreto.

Segundo lugar: Sei quais os métodos necessários para realizar a Applet, como o run,paint, destroy, start() etc..

Problema é coloca-lo no meu main, já tentei de varias maneiras mas a applet não inicializa.

Terceiro lugar: Gostava que me ajudassem a coloca-lo numa pagina web, tenho domínio pago e pagina feita.



import java.awt.AWTException;
import java.awt.Color;
import java.awt.DisplayMode;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Window;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.event.MouseWheelEvent;
import java.awt.event.MouseWheelListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.*;

public class bucky implements KeyListener,MouseMotionListener , MouseListener,MouseWheelListener{



private ScreenManager s;
private Image bg;
private Image baseFinal;
private Image baseInicial;
private Image menu;
private Image menuUtilizador;
private Image botao1;
private Image botao2;
private Image skate;
private Image rampa;
//
private Animation policia;
private Animation ladrao;
private Animation preso1;
private Animation preso2;
private Animation preso3;
private Animation preso4;
private Animation celaFinal;
//
private String mess="";
private String messe="";
//
private boolean running;
private boolean start=true;
private boolean mover=false;
private boolean emCimaB1=true;
private boolean arrastarSkate=false;
private boolean arrastarRampa=false;
boolean pararCela=false;
boolean podeSubir = false;
boolean PrisioneiroSobe=false;
boolean podeDescer=false;
boolean bateuRampa=false;
//
private Sprite sprite;
private Sprite cela ;
//
private long startingTime=System.currentTimeMillis();
private long cumTime= startingTime;
private long timePassed = System.currentTimeMillis() - cumTime;
//
private Point ponto;
//
private int skateX=1000;
private int skateY=1000;
private int rampaX=1000;
private int rampaY=1000;

private static final DisplayMode modes1[]={
 new DisplayMode(800,600,32,0),
 new DisplayMode(800,600,24,0),
 new DisplayMode(800,600,16,0),
 new DisplayMode(640,480,32,0),
 new DisplayMode(640,480,24,0),
 new DisplayMode(640,480,16,0),
};
private static final KeyEvent e = null;

public static void main(String[] args) {
 bucky b=new bucky();
 b.run();
}

//load images and add scenes
public void loadImages(){

  bg=new ImageIcon("C:/Java/workspace/PAP/Imagens/back.png").getImage();

  baseFinal=new ImageIcon("C:/Java/workspace/PAP/Imagens/final.png").getImage();
  baseInicial=new ImageIcon("C:/Java/workspace/PAP/Imagens/inicial.png").getImage();
  skate=new ImageIcon("C:/Java/workspace/PAP/Imagens/skate.png").getImage();
  rampa=new ImageIcon("C:/Java/workspace/PAP/Imagens/rampa.png").getImage();

  menu=new ImageIcon("C:/Java/workspace/PAP/Imagens/menu.png").getImage();
  menuUtilizador=new ImageIcon("C:/Java/workspace/PAP/Imagens/menuUtilizador.png").getImage();




  botao1=new ImageIcon("C:/Java/workspace/PAP/Imagens/BotaoIniciar1.png").getImage();
  botao2=new ImageIcon("C:/Java/workspace/PAP/Imagens/BotaoIniciar2.png").getImage();

  Image police1= new ImageIcon("C:/Java/workspace/PAP/Policia/Image1.png").getImage();
  Image police2= new ImageIcon("C:/Java/workspace/PAP/Policia/Image2.png").getImage();
  Image police3= new ImageIcon("C:/Java/workspace/PAP/Policia/Image3.png").getImage();
  Image police4= new ImageIcon("C:/Java/workspace/PAP/Policia/Image4.png").getImage();
  Image police5= new ImageIcon("C:/Java/workspace/PAP/Policia/Image5.png").getImage();
  Image police6= new ImageIcon("C:/Java/workspace/PAP/Policia/Image6.png").getImage();
  Image police8= new ImageIcon("C:/Java/workspace/PAP/Policia/Image8.png").getImage();
  Image police9= new ImageIcon("C:/Java/workspace/PAP/Policia/Image9.png").getImage();
  Image police10= new ImageIcon("C:/Java/workspace/PAP/Policia/Image10.png").getImage();


  Image prisao=new ImageIcon("C:/Java/workspace/PAP/Imagens/prisao.png").getImage();


 //
 Image cela1=new ImageIcon("C:/Java/workspace/PAP/Imagens/primeiro.png").getImage();
 Image cela12=new ImageIcon("C:/Java/workspace/PAP/Imagens/primeiro1.png").getImage();
 Image cela13=new ImageIcon("C:/Java/workspace/PAP/Imagens/primeiro2.png").getImage();
 Image cela2=new ImageIcon("C:/Java/workspace/PAP/Imagens/segundo.png").getImage();
 Image cela22=new ImageIcon("C:/Java/workspace/PAP/Imagens/segundo1.png").getImage();
 Image cela23=new ImageIcon("C:/Java/workspace/PAP/Imagens/segundo2.png").getImage();

 Image cela3=new ImageIcon("C:/Java/workspace/PAP/Imagens/treceiro.png").getImage();
 Image cela32=new ImageIcon("C:/Java/workspace/PAP/Imagens/treceiro2.png").getImage();
 Image cela33=new ImageIcon("C:/Java/workspace/PAP/Imagens/treceiro3.png").getImage();

 Image cela4=new ImageIcon("C:/Java/workspace/PAP/Imagens/preso4.png").getImage();
 Image cela42=new ImageIcon("C:/Java/workspace/PAP/Imagens/preso41.png").getImage();
 Image cela43=new ImageIcon("C:/Java/workspace/PAP/Imagens/preso42.png").getImage();


 //


 Image ladrao1=new ImageIcon("C:/Java/workspace/PAP/Ladrao/ladrao2test.png").getImage();
 Image ladrao2=new ImageIcon("C:/Java/workspace/PAP/Ladrao/ladrao3test.png").getImage();
 Image ladrao3=new ImageIcon("C:/Java/workspace/PAP/Ladrao/ladrao4test.png").getImage();
 Image ladrao4=new ImageIcon("C:/Java/workspace/PAP/Ladrao/ladrao5test.png").getImage();
 Image ladrao5=new ImageIcon("C:/Java/workspace/PAP/Ladrao/ladrao6test.png").getImage();

 policia =new Animation();
 policia.addScene(police1, 50);
 policia.addScene(police2, 50);
 policia.addScene(police3, 50);
 policia.addScene(police4, 50);
 policia.addScene(police5, 50);
 policia.addScene(police6, 50);
 policia.addScene(police8, 50);
 policia.addScene(police9, 50);
 policia.addScene(police10, 50);

 //
 preso1 = new Animation();
 preso1.addScene(cela1, 150);
 preso1.addScene(cela12, 150);
 preso1.addScene(cela1, 150);
 preso1.addScene(cela13, 150);
 preso1.addScene(cela1, 150);

 preso2 = new Animation();
 preso2.addScene(cela2, 150);
 preso2.addScene(cela22, 150);
 preso2.addScene(cela2, 150);
 preso2.addScene(cela23, 150);
 preso2.addScene(cela2, 150);

 preso3 = new Animation();
 preso3.addScene(cela3, 150);
 preso3.addScene(cela32, 150);
 preso3.addScene(cela3, 150);
 preso3.addScene(cela33, 150);
 preso3.addScene(cela3, 150);

 preso4 = new Animation();
 preso4.addScene(cela4, 150);
 preso4.addScene(cela42, 150);
 preso4.addScene(cela4, 150);
 preso4.addScene(cela43, 150);
 preso4.addScene(cela4, 150);

 //
 ladrao = new Animation();
 ladrao.addScene(ladrao1, 50);
 ladrao.addScene(ladrao2, 50);
 ladrao.addScene(ladrao3, 50);
 ladrao.addScene(ladrao4, 50);
 ladrao.addScene(ladrao5, 50);

 sprite = new Sprite(ladrao);
 sprite.setX(180);
 sprite.setY(340);
 sprite.setVelocityX(0.2f);
 sprite.setVelocityY(0.3f);


 celaFinal = new Animation();
 celaFinal.addScene(prisao, 150);
 celaFinal.addScene(prisao, 150);
 cela = new Sprite(celaFinal);
 cela.setX(600);
 cela.setY(2);
 cela.setVelocityX(0);
 cela.setVelocityY(0.2f);

}
//main method call from main
public void run(){

 s=new ScreenManager();
 try{
  DisplayMode dm=s.findFirstCompatibleMode(modes1);
  s.serFullScreen(dm);
  running=true;
  //
  Window w=s.getFullScreenWindow();
  w.setFocusTraversalKeysEnabled(false);
  w.addKeyListener(this);
  mess="press escape to exit";
  w.setForeground(Color.WHITE);
  //
  w.addMouseListener(this);
  w.addMouseMotionListener(this);
  w.addMouseWheelListener(this);
  //
  loadImages();
  movieLoop();
  keyPressed(e);
 }  
 finally{
  s.restoreScreen();
  }
}


//play movie loop
public void movieLoop(){
 startingTime=System.currentTimeMillis();
 cumTime= startingTime;

 while(running){
 timePassed = System.currentTimeMillis() - cumTime;
  cumTime+=timePassed;


  update(timePassed);
  updatePrisao( timePassed);
  preso1.update(timePassed);
  preso2.update(timePassed);
  preso3.update(timePassed);
  preso4.update(timePassed);

  //draw and update screen
  Graphics2D g= s.getGracphics();
  draw(g);
  g.dispose();
  s.update();

  try{
Thread.sleep(20);
  }catch(Exception ex){}
 }
}


//draws Graphics
public void draw(Graphics g){


 if(start){
 g.drawImage(menu,0,0,null);
 if(emCimaB1)
 g.drawImage(botao1,310,300,null);
 else
 g.drawImage(botao2,310,300,null);
 }
 else{
 g.drawImage(bg,0,0,null);


 g.drawImage(baseFinal,605,450,null);
 g.drawImage(baseInicial,0,450,null);
 g.drawImage(menuUtilizador,600,281,null);

 g.drawImage(rampa,rampaX,rampaY,null);
 if(rampaY+50<=500 || rampaX<=200){
 g.drawImage(rampa,1000,1000,null);
 rampaX=1000;
 rampaY=1000;
 }

 g.drawImage(skate,skateX,skateY,null);
 if(skateY+20<=500 || skateX<=200){
  g.drawImage(skate,1000,1000,null);
  skateX=1000;
  skateY=1000;
  }
 g.drawImage(preso1.getImage(),200,0,null);
 g.drawImage(preso2.getImage(),300,0,null);
 g.drawImage(preso3.getImage(),400,0,null);
 g.drawImage(preso4.getImage(),500,0,null);
 g.drawImage(sprite.getImage(), Math.round(sprite.getX()),Math.round(sprite.getY()),null);
 g.drawImage(policia.getImage(),40,322,null);
 Window w =s.getFullScreenWindow();
 g.setColor(w.getForeground());
 g.drawString(mess,400,600);
 g.drawImage(cela.getImage(), Math.round(cela.getX()),Math.round(cela.getY()),null);
 g.setColor(w.getForeground());
 g.drawString(messe,40,50);
 }
}


//update sprite
public void update (long timePassed){

 if(mover){
  if(policia.getIndex()==8)
  sprite.update(timePassed);
  if(policia.getIndex()!=8)
  policia.update(timePassed);

 }

 if(PrisioneiroSobe==false){


 if(sprite.getX()<-100 ){
  sprite.setVelocityX(Math.abs(sprite.getVelocityX()));
  mess="Ladrao Fugio";

 }else if(sprite.getX() + sprite.getWidth() >= 850){
  //sprite.setVelocityX(-Math.abs(sprite.getVelocityX()));
  mess="bateu lado Direito";
  sprite.setVelocityX(0.1f);
  sprite.setVelocityY(0.1f);

 }


 if( bateuRampa && sprite.getY() <=300 ){
 sprite.setVelocityY(Math.abs(sprite.getVelocityY()));
 mess="bateu em Cima";
 sprite.setY(300);

 }else if(sprite.getY() + sprite.getHeight() >= 600){
  //sprite.setVelocityY(-Math.abs(sprite.getVelocityY()));
  mess="bateu em Baixo"+policia.getIndex();
  sprite.setVelocityY(0);
 }

 if(sprite.getX() + sprite.getWidth() >= rampaX &&  sprite.getX() + sprite.getWidth() <= rampaX+350){

  sprite.setVelocityY(0.2f);
  sprite.setVelocityX(0.15f);


  sprite.setVelocityY(-Math.abs(sprite.getVelocityY()));
  bateuRampa=true;
 }else if( bateuRampa && sprite.getY() + sprite.getHeight() >=470 && sprite.getX() + sprite.getWidth() >= 650 && sprite.getX() + sprite.getWidth() <= 756){
  mess="bateu na base final";
  sprite.setVelocityY(0);
  sprite.setVelocityX(0);
  podeDescer=true;
  sprite.setX(690);


 }
 }

}

public void updatePrisao(long timePassed){


 if(cela.getY() <= 0 ){
  pararCela=true;
  podeSubir=false;
 }


 if(pararCela && podeDescer==false){
  cela.setVelocityY(0);

 }

 if(cela.getY() + cela.getHeight() >650){
  podeDescer=false;
  podeSubir=true;
  PrisioneiroSobe=true;
 }

 if(PrisioneiroSobe){
 sprite.setX(cela.getX()+70);
 sprite.setY(cela.getY()+100);
 }
 if(podeDescer){
  cela.update(timePassed);
  mess="mexe";
 }

 if(podeSubir){
  cela.setY(cela.getY()-10);
  cela.setVelocityY(0.02f);
  cela.setVelocityY(-Math.abs(sprite.getVelocityY()));
 }

}


public void stop(){
 running=false;
}


public void keyPressed(KeyEvent e){

 int keyCode =((KeyEvent) e).getKeyCode();  
 if(start==false){

if(keyCode==KeyEvent.VK_ENTER){
 mover=true;
}
else{
 mess="pressed:"+KeyEvent.getKeyText(keyCode);
 e.consume();
 }
}  
 if(keyCode==KeyEvent.VK_ESCAPE){
  stop();
 } else{
  mess="pressed:"+KeyEvent.getKeyText(keyCode);
  e.consume();
 }

 if(keyCode==KeyEvent.VK_PRINTSCREEN){
	try {		
		Robot robot = new Robot();
		// Capture the screen shot of the area of the screen defined by the rectangle
		BufferedImage bi=robot.createScreenCapture(new Rectangle(800,600));
		ImageIO.write(bi, "jpg", new File("C:imageTest.jpg"));	  
	} catch (AWTException e1) {
		e1.printStackTrace();
	} catch (IOException e1) {
		e1.printStackTrace();
	}
}
}




//keyReleased
public void keyReleased(KeyEvent e){
 int keyCode =e.getKeyCode();
 mess="Relessed:"+KeyEvent.getKeyText(keyCode);
 e.consume();
}


//last method from interface
public void keyTyped(KeyEvent e){
 e.consume();
}



//mouse listener interface
public void mousePressed(MouseEvent e){

 if(e.getX()>608 && e.getX()<670 && e.getY()>312 && e.getY()<347)
  arrastarSkate=true;
 else
  arrastarSkate=false;

 if(e.getX()>723 && e.getX()<790 && e.getY()>316 && e.getY()<348)
  arrastarRampa=true;
 else
  arrastarRampa=false;



 if(e.getX()>=310 && e.getX()<=510 && e.getY()>=300 && e.getY()<=400 )
 start=false;

 this.ponto=e.getPoint();
 messe="Carregou "+ponto;
}



public void mouseReleased(MouseEvent e){  
 this.ponto=e.getPoint();
 messe="Deixou "+ponto;
}

public void mousecliked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}

//mouse motion interface
public void mouseDragged(MouseEvent e){
 if(arrastarSkate){
 skateX=e.getX();
 skateY=e.getY();
 }

 if(arrastarRampa){
 rampaX=e.getX();
 rampaY=e.getY();
 }

 this.ponto=e.getPoint();
 messe="Arrastar"+ponto;
}

public void mouseMoved(MouseEvent e){

 if(e.getX()>=310 && e.getX()<=510 && e.getY()>=300 && e.getY()<=400 )
 emCimaB1=false;
 else
 emCimaB1=true;

 this.ponto=e.getPoint();
 messe="mexendo"+ponto;
}

//Wheel interface
public void mouseWhellMoved(MouseWheelEvent e){
 this.ponto=e.getPoint();
 messe="mexendo no wheel"+ponto;
}


@Override
public void mouseWheelMoved(MouseWheelEvent e) {
}
@Override
public void mouseClicked(MouseEvent arg0) {

}

}
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.