Bluecora Posted June 6, 2012 at 03:17 PM Report Share #460930 Posted June 6, 2012 at 03:17 PM 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 More sharing options...
HappyHippyHippo Posted June 6, 2012 at 03:57 PM Report Share #460950 Posted June 6, 2012 at 03:57 PM http://docs.oracle.com/javase/tutorial/deployment/applet/index.html IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Bluecora Posted June 8, 2012 at 03:22 PM Author Report Share #461459 Posted June 8, 2012 at 03:22 PM ao que parece nao se pode usar um loop em Japplet, mandam usar o repaint , mas o repaint tem de estar constantemente a ser chamado com um loop nao funciona ... Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now