tutorials.de Buch-Aktion 05/2012
Seite 1 von 4 1234 LetzteLetzte
Like Tree1Danke
ERLEDIGT
JA
ANTWORTEN
52
ZUGRIFFE
1578
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von oneof6
    oneof6 oneof6 ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Ort
    entre dos tierras
    Beiträge
    73
    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,
    OneOf6
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Bye J2ME - Hello J2SE Games-jonny.png  
    Angehängte Dateien Angehängte Dateien
    Geä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

  2. #2
    SE 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 ...
     

  3. #3
    Avatar von oneof6
    oneof6 oneof6 ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Ort
    entre dos tierras
    Beiträge
    73
    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

  4. #4
    SE 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)
     

  5. #5
    Avatar von oneof6
    oneof6 oneof6 ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Ort
    entre dos tierras
    Beiträge
    73
    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

  6. #6
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.506
    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, ...?

  7. #7
    SE 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 ...
     

  8. #8
    Avatar von oneof6
    oneof6 oneof6 ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Ort
    entre dos tierras
    Beiträge
    73
    @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

  9. #9
    SE 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 ?
     

  10. #10
    Avatar von oneof6
    oneof6 oneof6 ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Ort
    entre dos tierras
    Beiträge
    73
    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

  11. #11
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.506
    @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, ...?

  12. #12
    SE 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 !*
     

  13. #13
    Avatar von oneof6
    oneof6 oneof6 ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Ort
    entre dos tierras
    Beiträge
    73
    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

  14. #14
    SE 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 :
    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.
    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.
    Genaueres kann ich aber erst nach meinem Test sagen.
     

  15. #15
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    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ß

    Fabio
     
    Bitte 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

  1. Eclipse für JME und J2SE
    Von melmager im Forum Java
    Antworten: 0
    Letzter Beitrag: 06.09.06, 11:59
  2. jms mit j2se client
    Von DealeyLama im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 3
    Letzter Beitrag: 26.12.05, 22:07
  3. J2SE 1.5.0 soll in Zukunft J2SE 5.0 heißen?!
    Von Thomas Darimont im Forum Java
    Antworten: 3
    Letzter Beitrag: 30.06.04, 12:16
  4. J2SE 1.5 beta 2
    Von squeaker im Forum Java
    Antworten: 5
    Letzter Beitrag: 29.06.04, 14:27
  5. J2SE und Eclipse
    Von zeromancer im Forum Java
    Antworten: 9
    Letzter Beitrag: 11.02.04, 17:55