also, ich hab's jetzt noch mal ausprobiert und schreibe hier mal genau hin, was ich bemacht hab.
(statt javaw, Befehl aus dem Skript, habe ich java genommen, javaw gibt's nicht )
Achtung! Das ist nicht das startSpiel.bat Skript, sondern das startEditor.bat, da ich dachte das läuft vielleicht eher.
1) Zuerst bin ich mit cd bin/, genau wie in der Datei, nach bin gegangen.
2) nach ein paar Aufrufen hatte ich dann CP den Wert zugewiesen, der im Skript auftauchte (Stimmt der so???)
3) Dann hab ich folgendes ausgeführt (vermute mal, dass %CP% (start Skript) den Wert von CP meint (bash-syntax: $CP):
Code:
java -cp $CP com.mea.balance.editor.Main
Folgende Fehlermeldungen wurden ausgegeben:
Exception in thread "main" java.lang.NoClassDefFoundError: com/mea/balance/editor/Main Caused by: java.lang.ClassNotFoundException: com.mea.balance.editor.Main at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
Als Laie ist man damit erstmal bedient
Naja, war wohl mal ein Template, bei meinen weiß ich auch nicht immer genau, was die eigentlich so machen. Hauptsache, es funktioniert. (Nur dumm, dass es jetzt nicht läuft )
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7804 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ziemlich seltsam.
Er sagt, er findet das class-File der Klasse Main nicht.
Ich hab hier gerade mal in das Jar reingeguckt. Das classfile ist da. Eventuell haperts mit den Pfadseparatoren? Eigentlich unwahrscheinlich.
Deine Änderung scheinen alle zu passen. (Im Skript).
Hast du mal geguckt, welche parameter java akzeptiert? -cp dient dazu den ClassPath zu setzen. Also quasi den Suchpfad wo die Class files liegen sollen. Eigentlich sollte das Jar ja da drinnen stehen.
Vielleicht stolpert er schon bei ".", der erste Eintrag im classfile. Muss das vielleicht anders geschrieben werden? /. vielleicht?
Solche Fehler sind nervtötend, weil ja eigentlich alles richtig gemacht sein sollte.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Fehlermeldungen:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jogl_drihack in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682) at java.lang.Runtime.loadLibrary0(Runtime.java:823) at java.lang.System.loadLibrary(System.java:1030) at com.sun.opengl.impl.NativeLibLoader$DefaultAction.loadLibrary(NativeLibLoader.java:78 ) at com.sun.opengl.impl.NativeLibLoader.loadLibrary(NativeLibLoader.java:101) at com.sun.opengl.impl.NativeLibLoader.access$100(NativeLibLoader.java:47) at com.sun.opengl.impl.NativeLibLoader$3.run(NativeLibLoader.java:141) at java.security.AccessController.doPrivileged(Native Method) at com.sun.opengl.impl.NativeLibLoader.loadDRIHack(NativeLibLoader.java:139) at com.sun.opengl.impl.x11.DRIHack.begin(DRIHack.java:105) at com.sun.opengl.impl.x11.X11GLDrawableFactory.<clinit>(X11GLDrawableFactory.java:66) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at javax.media.opengl.GLDrawableFactory.getFactory(GLDrawableFactory.java:111) at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:113) at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:82) at com.mea.balance.editor.Main.<init>(Main.java:73) at com.mea.balance.editor.Main.main(Main.java:39)
Wie gesagt, hab von java wirklich keine Ahnung und kann daher auch nichts mit den Fehlermeldungen anfangen
Zuerst kam ein Fenster (INFO - startet gleich)
Dann gabe es einige Fehler
Nach kurzer Zeit verschwand das Fenster
Auch nach langer Zeit passierte nichts
Fehler waren identisch, bis auf die letzten beiden Zeilen:
at com.mea.balancePC.Main.<init>(Main.java:135) at com.mea.balancePC.Main.main(Main.java:76)
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7804 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich weiß da auch nicht viel mehr als du, aber ich hab mal gegoogled und das hier gefunden:
Zitat:
You're trying to tun Xith3D on Linux, right? JOGL needs native libraries (just as SWT, LWJGL and JOAL), if you want to use them. You need to setup an appropriate classpath. The Linux version of JOGL needs a file named jogl_drihack.so, which is not needed in the Windows version.
Hast du ne Idee wo man die herbekommt? Wenn du die gefunden hast, dann einfach in den bin Ordner legen.
Das sollte dann einen Schritt weiter gehen.
PS: Danke das du das probierst. Ich käme so schnell nicht dazu.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Wäre mir lieber ich müsste es nicht alles probieren, sondern es würde direkt funktionieren, aber vielleicht klappt's am Ende ja doch noch
Ich hab mir jetzt libjogl_drihack.so runtergeladen und ins bin Verzeichnis verschoben (Dort lag auch schon libjogl.so).
Nur hatte ich natürlich kein jogl_drihack.jar (braucht man wahrscheinlich auch, oder?)
In bin gab es jetzt also libjogl_drihack.so und (weil das nicht funktionierte) auch noch ein jogl_drihack.so
Leider hat es wieder mal nicht funktioniert (selbe Fehlermeldungen), aber vielleicht muss man ja nur noch ein jogl_drihack.jar erzeugen (gibt's bei jogl ja auch: libjogl.so und jogl.jar)
In der ersten Zeile bei den Fehlermeldungen steht außerdem etwas von java.library.path, ist das denn bin?
Zitat:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jogl_drihack in java.library.path
Wofür ist das jogl_drihack eigentlich gut, ich scheine ja nicht der erste zu sein, der damit Schwierigkeiten hat
EDIT: Muss man auch noch die CP variable um einen Eintrag erweitern?
EDIT: Fehler sind bei startEditor identisch, nur erscheint dabei kein INFO-Fenster (Wird gleich gestartet... Oder auch nicht )
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7804 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
So eine Meldung kommt beim Editor auch nicht. Ist also normal.
Hmmm... das mit dem Library-Path scheint wohl was LinuxSpezifisches zu sein.
Kannst du mal versuchen die drihack in den ClassPath aufnehmen?
Wenn das nicht zieht, dann versuch mal folgendes:
Zitat:
- set LD_LIBRARY_PATH or java.library.path so it includes the path containing the library - put the library in a directory already part of java.library.path or LD_LIBRARY_PATH
Das geht wohl irgendwie mit "export LD_LIBRARY_PATH = <Pfad zur drihack.so>" .
Zuerst hatte ich den Pfad angepasst (mit java -Djava.library.path=/.../Balance/bin)
Dann fand er zwar jogl_drihack, es fehlte aber noch jogl_awt
Nach runterladen der Datei libjogl_awt.so ging es dann endlich!
So, nach der ersten großen Freude stellte ich aber schnell fest, dass das Spiel zwar lief, es aber des öfteren Fehler gab (jeweils die erste Zeile):
1) java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 65535
2) Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Der 1. Fehler passierte, nachdem ich meinen Namen eingegeben hatte (Einzelspieler) und mich wunderte, dass es keinen Cursor gab. Deshalb drückte ich ahnungslos auf die Pfeiltaste links... Und dann kamen erst einmal einige Fehlermeldungen wie oben (1)
Der 2. trat nur ab und zu auf (Pointerfehler )
Außerden gab es einige Dinge, die keine echten Fehler sind, aber doch nerven:
1) Umlaute werden (zumindest bei mir) nicht korrekt dargestellt, dürfte jedoch an Linux liegen
2) Nach dem Beenden läuft der Prozess noch (auf der Console, von der er gestartet wurde), aber nur wenn es einen Pointerfehler (siehe oben) gab
3) Relativ lange Startzeit, aber vor allem hört sich der Text im INFO-Fenster etwas komisch an:
Zitat:
Balance wird in wenigen Sekunden bereits sein
(vermutlich sollte es eher bereit sein heißen)
4) Hier im Forum schon genannt: Bei Klick während der Computer spielt wird der Klick als nächster Spielzug ausgeführt.
(Also, normalerweise (=In C++/Qt Delphi/Lazarus) bekommt das Programm doch ein Event, wenn der Benutzer klickt,
unabhängig davon, was gerade so läuft, oder ist das in java anders? Dann könnte man doch einfach einen boolean setzen, ob der Computer spielt oder nicht. Und wenn der PC dran ist, einfach das Event ignorieren)
Ansonsten ist Balance ein sehr schönes Spiel und auch die Idee ist interessant, auch wenn man sich erst reindenken muss, bevor man es beherrscht
PS: Danke für die "Starthilfe"!
EDIT: Editor läuft mit ein bisschen Geduld am Anfang auch
Ich habe den Editor gestartet, weiß aber nicht, wie er funktionieren soll, da ich erstens nicht herausgefunden habe, wie mane Felder erhöhen und dem PC oder dem Spieler zuteilen kann. Zweitens: Kann man die eigenen Levels auch irgendwie laden???
Sonst bringen die leider nicht viel
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7804 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Hmm... Das mit den Fehlern ist komisch, ich hab das bei mir ja getestet, und solcher kram hätte mir auffallen müssen. Das werde ich mir aber wenn ich mal luft hab angucken.
Kannst du dein Balance-Verzeichnis inkl. Startscript und Libs mal einpacken und mir Mailen? --> Flash(#)delphigl.com
Wenn deine erstellten Karten gespeichert sind und im Ordner mit den Maps liegen, sollten die auch gespeichert werden.
Was ich selbst allerdings an Balance nicht schön finde, ist die Art der Kartenauswahl. Das funktioniert ja über die Nummer. Die Nummer wiederum wird durch das Laden bestimmt, was in Alphabetischer Reihenfolge geschieht. Wenn deine Karte also zzz heißt, dann ist es vermutlich die letzte Map. Heißt sie "hallo welt", ist es irgendeine in der Mitte.
Ich dank dir für deine Geduld.
Kannst du, nochmal genau bestimmen wann die Fehler auftreten?
Wegen den Events. Java puffert die Events. Wenn du 10x klickst, landen 10 Events in der Queue. Und die rieseln immer dann raus, wenn Zeit ist die zu bearbeiten. Also immer wenn der Spieler am Zug ist. Bisher ist mir noch nix dazu eingefallen.
Falls sich jemand mit Java auskennt: Wie kann ich alle Events aus der Eventqueue entfernen?
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Die Fehler treten leider nicht immer gleich auf, der NullPointerException Fehler tritt entweder direkt beim Start und dann auch manchmal noch mittendrin, oft aber auch gar nicht auf, auch nicht wenn man länger spielt.
Der andere Fehler (Array index out of range) trat bisher immer dann auf, wenn man beim Eingeben des Names eine Pfeiltaste drückt. Danach verhält sich der Dialog auch komisch (manchmal sind einige Felder/Buttons nicht mehr da), schafft man es dann aber auf OK oder zurück zu drücken, verhält sich das Spiel wieder normal.
Nach diesem Fehler gibt es beim nächsten Start oft folgende Meldung:
Zitat:
An invalid XML character (Unicode: 0xffff) was found in the element content of the document.
Das Start Skripte habe ich gar nicht verändert, sollte ich aber mal machen, dann muss ich es nicht immer von Hand starten Im Verzeichnis ist nichts als die beiden Bibliotheken: libjogl_drihack.so und libjogl_awt.so, die stehn auch alle im Internet.
Das Start Skript fürs Spiel (startSpiel.bat) würde dann so aussehen (Editor ist ja gleich, bis auf CP)
Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.