2009-03-09 5 views
0

Ich machte dieses Pacman-Spiel mit einem Applet. Wenn das Applet fertig geladen ist, soll es eine 'Startmenü'-Grafik anzeigen, die besagt' Doppelklick um das Spiel zu starten 'usw. Die Grafik würde das gesamte 400x400 Applet aufnehmen. Hier ist der Code:DrawImage() für. Png-Dateien funktioniert nicht in Java-Applet?

public void paint(Graphics g) 
{ 
    if (! isRunning) 
    { 
     switch (result) 
     { 
      case 0: 
       showStartScreen(g); 
      break; 

      case 1: 
       showWonScreen(g); 
      break; 

      case -1: 
       showLostScreen(g); 
      break; 
     } 
     return; 
    } 
     //Code for rendering other stuff if game is here 
} 

showStartScreen:

public void showStartScreen(Graphics g) 
{ 
    Image intro=img.getImg("pacman-intro.png"); 
    g.drawImage(intro, 0, 0, this); 

} 

Das funktioniert gut, wenn ich diese laufen lokal auf Eclipse, aber im Web-Browser, wenn das Applet geladen wird, ich sehe nur eine leere Box, wo die Javas Ladeanimation war vorher. Überraschenderweise, wenn ich zufällig auf den Punkt doppelklicke, wo das Applet sein soll, startet das Spiel und funktioniert wie normal. Das lässt mich glauben, dass das Problem nur beim Zeichnen von .png-Dateien mit drawImage liegt.

Das Gleiche passiert, wenn Sie das Spiel gewinnen oder verlieren, es hängt nur, anstatt die Grafik zu zeichnen, die es benötigt.

können Sie sehen diese here (Sie Pfeiltasten verwenden, um zu steuern)

P.S ich hier Double-Buffering verwende.

Irgendwelche Gedanken ..?

EDIT: Code für ImgHelper Klasse, die das img laden verwendet wird:

import java.awt.Image; 
import java.net.URL; 

import javax.swing.ImageIcon; 

public class ImgHelper 
{ 
    public Image getImg(String file) 
    { 
      //Engine is the name of the base applet class 
     URL url=Engine.class.getClassLoader().getResource("assets/" + file); 
     return new ImageIcon(url).getImage(); 

    } 


} 
+0

Es ist unmöglich zu sagen, was falsch ist. Zum Beispiel, was ist 'img' und wie lädt es das Bild? – TrayMan

Antwort

3

Ah, überprüfte ich den Inhalt Ihrer JAR-Datei.

"pacman-intro.png" durch "pacman-intro.PNG" ersetzen. Es ist Groß- und Kleinschreibung.

1

Sind die pngs im richtigen Verzeichnis? Ist "." in der Pfad env-Variable auf dem Server?

Try "./pacman-intro.png" heißt

+0

Ja, Pfade aee korrekt, ich habe doppelt überprüft. Die imgHelper.getImg-Methode fügt das/vor dem Bild hinzu –

Verwandte Themen