Hallo,
hab ein Spiel mit BlueJ programmiert. Es hat auch funktioniert wenn ich es als "Jar-Datei entpackt" habe. Aber nachdem einfügen der Klasse Sounds funktioniert es zwar auch noch, wenn ich das Spiel mit BlueJ starte, aber wenn ich es als "Jar-Datei entpacke" und dann starte öffnet sich das Spielfeld auch, aber es geschieht nichts ( normal müsste eine Spielfigur erscheinen und sich bewegen).
Hier die relevanten Klassen:
Sound
Controler
und eigentlich noch die Klasse Spiel aber da diese zu lang is poste ich nur ein Beispiel:
wie gesagt wenn ich Controler jetzt mit Bluej starte geht noch alles
( normalerweise braucht man bei BlueJ keine "main-Methode"
diese hab ich aber bereits eingefügt und ohne den Sounds funktioniert es auch als Jar-Datei.
Hoffe ihr könnt mir weiterhelfen
danke!
hab ein Spiel mit BlueJ programmiert. Es hat auch funktioniert wenn ich es als "Jar-Datei entpackt" habe. Aber nachdem einfügen der Klasse Sounds funktioniert es zwar auch noch, wenn ich das Spiel mit BlueJ starte, aber wenn ich es als "Jar-Datei entpacke" und dann starte öffnet sich das Spielfeld auch, aber es geschieht nichts ( normal müsste eine Spielfigur erscheinen und sich bewegen).
Hier die relevanten Klassen:
Sound
Java:
import java.applet.*;
import java.net.*;
public class SOUND {
public AudioClip song; // Sound player
public URL songPath; // Sound path
public SOUND(String filename) {
songPath = getClass().getResource(filename); // Get the Sound URL
song = Applet.newAudioClip(songPath); // Load the Sound
}
public void playSound() {
song.loop(); // Play
}
public void stopSound() {
song.stop(); // Stop
}
public void playSoundOnce() {
song.play(); // Play only once
}
}
Controler
Java:
public class CONTROLER implements Runnable
{
SPIEL spiel = new SPIEL();
KNOPFFENSTER2 kf;
private boolean IsRunning=true;
public CONTROLER()
{
new Thread(this).start();
}
public void run()
{
while(IsRunning)
{
spiel.Action(GAMEWINDOW.getInstance().getKeystate());
if(spiel.mario.LeseY() > 700 && kf== null)
{
spiel.over.IstSichtbar = true;
//SPIEL.punkte = 0;
kf=new KNOPFFENSTER2();
end();
}
//if(SPIEL.gameover == true) {IsRunning=false;}
try { Thread.sleep(5); } catch (Exception e) {}
}
}
public void end()
{
IsRunning=false;
GAMEWINDOW.getInstance().stopRunning();
}
public static void main(String args[]) {
new CONTROLER();
}
}
und eigentlich noch die Klasse Spiel aber da diese zu lang is poste ich nur ein Beispiel:
Java:
public class SPIEL
{
SOUND beispiel;
public SPIEL()
{
beispiel = new SOUND("beispiel.wav");
}
public void Action()
{
if( z.B Kollision )
{ beispiel.startSoundOnce(); }
}
wie gesagt wenn ich Controler jetzt mit Bluej starte geht noch alles
( normalerweise braucht man bei BlueJ keine "main-Methode"
diese hab ich aber bereits eingefügt und ohne den Sounds funktioniert es auch als Jar-Datei.
Hoffe ihr könnt mir weiterhelfen
danke!
Zuletzt bearbeitet: