-
08.09.11 12:22 #1
Hi,
da ich jetzt mein Hobby, J2ME Spiele zu entwickeln, aufgegeben hab', habe ich mir ein neues Projekt vorgenommen. Hier ist also die erste DEMO (welche noch nen Codenamen trägt). Die finale Version soll "Funfair Fella" heißen. Die Demo ist komplett spielbar (2 Level). Zur Fertigstellung muss ich noch ordentliche Level machen, den Sound polieren und kleinere Dinge fixen.
Das Spiel ist pädagogisch nicht besonders wertvoll, da der Protagonist ne Menge Alkohol trinken muss. Hier mal ne kurze Beschreibung der Spielregeln:
- Je mehr Flaschen ausgetrunken werden, desto höher steigt der Alk-Spiegel
- Je höher der Alk-Spiegel, desto mehr Punkte bekommt man
- Trinkt man weiter obwohl der Alk-Spiegel auf Maximum ist, gibt's extra Punkte
- Je betrunkener der Spieler ist, desto schlechter lässt er sich steuern
Gegnerklassen:
- Schießbuden Typ, schießt auf den Spieler, wenn dieser in Feuerlinie ist
- Wahrsager, quatscht Spieler voll, verwirrt den Spieler und kehrt Steuerung um
- Security, zieht Spieler eins über, verfolgt den Spieler
Steuerung:
- strg - Feuer (eigentlich trinken)
- Pfeiltasten - Richtungssteuerung
- P - Pause
Ihr könnt ja mal raushauen wie's bisher gelungen ist!
Ciao,
OneOf6Geändert von oneof6 (08.09.11 um 14:26 Uhr) Grund: Binary erneut hochgeladen, trotz Kompatibilitätsproblemen mit Java 7
...every second is a new spark, sets the universe aflame
(Bruce Dickinson)
Got something to say? http://www.plaintalk.de
-
08.09.11 12:33 #2SE Tutorials.de Gastzugang
Ich find dein Vorhaben klasse ... jedoch muss ich dich gleich mal entmutigen :
Ich hab mir das Zip geladen und dierekt gestartet ... es öffnete sich ein Fenster und es passierte NICHTS ...
Also das JAR aus dem ZIP extrahiert ... CMD ... und guck mal was ich da an den Kopf bekommen habe :
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
java -jar DrunkenJonny_DEMO.jar java.io.IOException: mark/reset not supported at java.util.zip.InflaterInputStream.reset(InflaterInputStream.java:286) at java.io.FilterInputStream.reset(FilterInputStream.java:226) at com.sun.media.sound.AudioFileSoundbankReader.getSoundbank(AudioFileSoundbankReader.java:73) at javax.sound.midi.MidiSystem.getSoundbank(MidiSystem.java:530) at jonny_0_5.MusicBox.<init>(MusicBox.java:51) at jonny_0_5.Board.preloader(Board.java:85) at jonny_0_5.Board.drawTitle(Board.java:400) at jonny_0_5.Board.paint(Board.java:101) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5221) at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1482) at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1413) at javax.swing.RepaintManager.paint(RepaintManager.java:1206) at javax.swing.JComponent._paintImmediately(JComponent.java:5169) at javax.swing.JComponent.paintImmediately(JComponent.java:4980) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:770) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:728) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:677) at javax.swing.RepaintManager.access$700(RepaintManager.java:59) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1621) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705) at java.awt.EventQueue.access$000(EventQueue.java:101) at java.awt.EventQueue$3.run(EventQueue.java:666) at java.awt.EventQueue$3.run(EventQueue.java:664) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:675) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105) at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at jonny_0_5.MusicBox.setVolume(MusicBox.java:118) at jonny_0_5.Board.preloader(Board.java:87) at jonny_0_5.Board.drawTitle(Board.java:400) at jonny_0_5.Board.paint(Board.java:101) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5221) at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1482) at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1413) at javax.swing.RepaintManager.paint(RepaintManager.java:1206) at javax.swing.JComponent._paintImmediately(JComponent.java:5169) at javax.swing.JComponent.paintImmediately(JComponent.java:4980) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:770) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:728) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:677) at javax.swing.RepaintManager.access$700(RepaintManager.java:59) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1621) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705) at java.awt.EventQueue.access$000(EventQueue.java:101) at java.awt.EventQueue$3.run(EventQueue.java:666) at java.awt.EventQueue$3.run(EventQueue.java:664) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:675) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105) at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Was jedoch erkennbar ist : die NPE tritt erst durch die IOE auf ...
Hier noch die Anmerkung : warum machst du das im EDT ?
System : Windows 7 Ultimate x64
Java : Sun/Oracle Java 7 x86 / x64 *beide der selbe Fehler*
Hier stimmt also offensichtlich irgendwas nicht ... da ich weder Source habe noch dir diesen Fehler verschweigen möchte poste ich ich ihn einfach in der Hoffnung du bekommst das gefixed.
Was allerdings die erste Exception soll ... dazu würde ich dann doch mal gerne die Code-Zeile sehen ...
-
08.09.11 12:36 #3
Mmh,
prima. Hast Du die Möglichkeit, dass mit ner 1.6er Java und 32 Bit zu testen. Vielleicht wird die Sound-API in 7 nicht mehr unterstützt?...every second is a new spark, sets the universe aflame
(Bruce Dickinson)
Got something to say? http://www.plaintalk.de
-
08.09.11 12:43 #4SE Tutorials.de Gastzugang
Jop ... die habe ich ... auch wenn nur in Form einer VM mit XP .. aber ja .. da habe ich von 1.4 bis 7 alle drauf ... ich werd es sofort in Angriff nehmen ...
ps : Ergebnis wird via EDIT eingefügt ... dafür wäre ein doppel-Post zu viel ... also einfach mal in 5 min wieder reinschauen.
// EDIT
Ähm ok ... das könnte sich doch etwas in die Länge ziehen weil meine VM grade extreme Probleme hat und nicht mal sauber hochfährt ... geschweige denn Java irgendwie anläuft *in keiner Version ... überhaupt nix*.
Ich muss daher mal schnell eine neue VM installieren ... geschätzter Zeitaufwand : knappe 20min
Werde das Ergebnis dann vorraussichtlich in einem Post bekannt geben ... du kannst also ruhig antworten.Geändert von SE (08.09.11 um 12:52 Uhr)
-
08.09.11 12:55 #5
OK,
danke für den Versuch.
Ich werd' das parallel mal auf ner anderen Maschine testen....every second is a new spark, sets the universe aflame
(Bruce Dickinson)
Got something to say? http://www.plaintalk.de
-
Also bei mir gehts
XP 32bit Prof, Java 1.6
Witziges Spiel
Im Level 2 wurde ich erschossen...
edit:Alles implementierte geschafft
Aber die Taste m spinnt irgendwie...für was ist die überhaupt gut?Geändert von sheel (08.09.11 um 13:07 Uhr)
Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
08.09.11 13:06 #7SE Tutorials.de Gastzugang
Also mir ist es den Aufwand schon wert ... immerhin will ich ja auch wissen was da so abgeht. Ob meine VM allerdings die Leistung bekommt die laut Einstellungen zugewiesen wurden *1CPU-Core exklusiv , 2D- und 3D-Hardwarebeschleunigung und DirectSound* ... das werd ich dann sehen ...
-
08.09.11 13:09 #8
@Sheel
Ooops, da hab' ich mit nem On-Screen Menu rumgespielt. Ich deaktivier' das und lade es neu hoch!...every second is a new spark, sets the universe aflame
(Bruce Dickinson)
Got something to say? http://www.plaintalk.de
-
08.09.11 13:17 #9SE Tutorials.de Gastzugang
Also ohne das ich jetzt das ganze testen konnte *VM installiert noch* fällt mir anhand der Exception schon auf das es NICHT an der Sound-Engine liegen kann.
Wenn man es genau liest stimmt da was mit dem InflaterStream nicht. Darum sagte ich ja das ich dazu dann bitte doch mal die entsprechenden Zeilen sehen möchte *also deklaration und ALLE Operationen die auf den Stream angewendet werden bis einschließlich zur NPE*.
Warum ist mir das vorhin eigentlich nicht sofort aufgefallen ?
-
08.09.11 13:17 #10
So,
die "M" Taste ist deaktiviert. Ich hab's jetzt auf verschiedenen Systemen getestet und wenn's abschmiert dann isses immer die alte Sound-API....every second is a new spark, sets the universe aflame
(Bruce Dickinson)
Got something to say? http://www.plaintalk.de
-
@Spikee: Warum schaust du dir die Zeilen dann nicht einfach an?
Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
08.09.11 13:21 #12SE Tutorials.de Gastzugang
Weil ich bis zu deinem Post eben noch nicht mal in das JAR gesehen habe ... und daher natürlich nicht wusste das Source beiliegt. ...
*Zitat : This is so my fault !*
-
08.09.11 13:21 #13
Also die Zeile 51 kann ich Dir Zeigen:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
public MusicBox(boolean loopForever){ try { InputStream soundbStream = this.getClass().getResourceAsStream("soundbank.gm"); //setup sequencer and synthesizer for playing sequencer = MidiSystem.getSequencer(false); synthi = MidiSystem.getSynthesizer(); synthi.open(); //load soundbank soundbank = MidiSystem.getSoundbank(soundbStream); synthi.loadAllInstruments(soundbank); receiver = synthi.getReceiver(); if(loopForever) sequencer.setLoopCount(Sequencer.LOOP_CONTINUOUSLY); } catch (Exception e) { e.printStackTrace(); } }
Ist hier im Code die Zeile 9!...every second is a new spark, sets the universe aflame
(Bruce Dickinson)
Got something to say? http://www.plaintalk.de
-
08.09.11 13:31 #14SE Tutorials.de Gastzugang
Ja ... das hatte ich dann auch soweit gelesen xD
Ich hab mal in der Doc gestöbert und bin dabei auf folgendes gestoßen :
Diese Aussage lässt mich vermuten das *so fern es jetzt nur Java7 betrifft* der Ladecode intern geändert wurde und da irgendwas mit deiesem komprimiertem InputStream nicht klar kommt. Es kann aber auch sein das deine Soundbank in einer Art komprimiert ist die Java 7 einfach nicht versteht.These parsers must be able to mark the stream, read enough data to determine whether they support the stream, and, if not, reset the stream's read pointer to its original position. If the input stream does not support this, this method may fail with an IOException.
Genaueres kann ich aber erst nach meinem Test sagen.
-
08.09.11 13:49 #15
Ich habe dein Spiel auch mal ausprobiert. Wirklich eine sehr abstruse Idee.

Hab das Spiel auch durch gespielt. Am Ende ist mir aufgefallen - nachdem man das letzte Level geschafft hat - dass beim gedrückt halten der Leertaste der Screen immer zwischen Spiel und Next-Level-Screen hin und her switched. Nur so als kleine Anmerkung.
Gruß
FabioBitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]
Tutorials:
Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
JAnimationPanel - Animationen für Swing/AWT
SWTRatingBar (Bewertungs-Composite) selbst programmieren
____________________________________________________________________________
Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.
Ähnliche Themen
-
Eclipse für JME und J2SE
Von melmager im Forum JavaAntworten: 0Letzter Beitrag: 06.09.06, 11:59 -
jms mit j2se client
Von DealeyLama im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 3Letzter Beitrag: 26.12.05, 22:07 -
J2SE 1.5.0 soll in Zukunft J2SE 5.0 heißen?!
Von Thomas Darimont im Forum JavaAntworten: 3Letzter Beitrag: 30.06.04, 12:16 -
J2SE 1.5 beta 2
Von squeaker im Forum JavaAntworten: 5Letzter Beitrag: 29.06.04, 14:27 -
J2SE und Eclipse
Von zeromancer im Forum JavaAntworten: 9Letzter Beitrag: 11.02.04, 17:55



1Danke

Zitieren

Login





