+ Antworten
Ergebnis 1 bis 10 von 10

Thema: Libgdx Spielfeld

  1. #1
    User Megabyte Themenstarter
    Avatar von mymaksimus
    Registriert seit
    17.08.2013
    Fachbeiträge
    1.270
    Genannt
    50 Post(s)
    Hey Leute...
    ich habe jetzt mal angefangen den Umgang mit Libgdx zu erlernen, und naja.. folgendes:

    Ich zeichne das Spielfeld, und dachte mir so ich füge etwas Text hinzu.
    Resultat:

    Libgdx Spielfeld-14191459_1283758281656813_1515004984_o.jpg

    bitte warum...??
    Ich zeichne halt mit

    Java Code:
    1.  
    2. for(...){
    3.     batch.draw(region, x, y ...); //die sechsecke
    4.     font.draw(batch, "test" + hexagon.getMapx() ...) //den text
    5. }

    wenn ich aber - und jetzt kommt die pointe - das hexagon.getMapx() entferne, dann passiert das nicht.
    (An der Stringkonkatenation liegt es nicht, es liegt an dem Methodenaufruf irgendwie)

    Aber - es sieht so aus:

    Libgdx Spielfeld-14163592_1283758254990149_980226655_o.jpg

    die seltsamen Streifen sind verschwunden, aber die grünen "texturausschnitte" am ende der klammern in dem fall tauchen auf...


    was mache ich falsch? Oder ist der fehler vielleicht ganz wo anders und das ist das Endresultat wie das bei Opengl halt mal passiert?
    (Nach dem Motto man baut einen Bug ein der seine Auswirkung 10 Jahre Später auf einem anderen Handy eines anderen Betriebssystems zeigt...
    ich habe das ganze auch auf stackoverflow gefragt, aber da ich mir dachte ich war lang nicht mehr aktiv melde ich mich auch mal hier ^^
    textures - Libgdx strange batch behaviour - Stack Overflow)
    Geändert von Marco13 (01.09.2016 um 23:20 Uhr) Grund: Link gefixt
    "und außerdem, so lange her, dafür gibts keine teile mehr.."

  2. #2
    User Viertel Megabyte Avatar von TMII
    Registriert seit
    19.02.2015
    Fachbeiträge
    313
    Genannt
    31 Post(s)
    Die Implementierung von OpenGL obliegt beim Hersteller. Wenn also ein Bug auftritt dann liegt da Problem bei dem Hersteller deines Smartphones.

    Ich kenne mich mit LibGDX jetzt nicht aus aber denke solche Grafik "bugs" schonmal gesehen zu haben.
    Direkt fällt auf dass die Streifen die "grün schwarze" Farbe des Hintergrunds besitzen.
    Einzelne verzogene Texel sind darin sichtbar.
    Teile der Textur dieser Streifen haben einen unterschiedlichen Alpha Level.

    Es deutet alles darauf hin das ein Zeichenfehler im OpenGL Kontext vorliegt. Sowas sieht man häufig bei Memory Fehlern.

    Du sagst es liegt am Aufruf der Methode und nicht an der String annotation.
    Hast du mal bei der zweiten "wtf" Variante, die du als Beweis dafür anbringst, in der Schleife trotzdem
    int x = getMapx();
    ausgeführt und geschaut ob der Fehler weiterhin auftritt?

  3. #3
    Global Moderator Viertel Gigabyte
    Registriert seit
    05.08.2008
    Fachbeiträge
    4.902
    Genannt
    308 Post(s)
    Ohja, ... fehlt nur noch ein komplett Grün-Schwarzer FileChooser

    Mal im Ernst: Es ist schwierig, d.h. wenn man nicht selbst schon "den" Fehler mal hatte (und behoben hat), und man das nicht per KSKB testen kann, kann man erstmal nur raten. Meine Tipps wären deswegen ähnlich im Trüben stochernd wie die von TMII:
    - hexagon.getMapx() aufrufen aber nicht für den String verwenden
    - hexagon.getMapx() NICHT aufrufen, aber "zufällige" andere Strings als "wtf" verwenden - z.B. auch die, die MIT hexagon.getMapx() entstehen WÜRDEN
    - Fonts sind IMMER kacke. Kann man da zum Testen mal andere Fonts oder Schriftgrößen einstellen?
    Verändert sich das irgendwie, wenn man zoomt oder draggt (falls das geht...)

  4. #4
    User Megabyte Themenstarter
    Avatar von mymaksimus
    Registriert seit
    17.08.2013
    Fachbeiträge
    1.270
    Genannt
    50 Post(s)
    ich werde morgen mal ein kskb reinstellen, wenn ich es bis dahin nicht hinbekomme.
    Danke für die Vorschläge.

    Habt ihr denn die Möglichkeit ein Projekt mit Libgdx für Android mal eben laufen zu lassen?

    Ja der Fehler bleibt bestehen, wenn man draggt. anscheinend ist da irgendwo ein "fest verankerter" geometrie memory bug oder so...
    "und außerdem, so lange her, dafür gibts keine teile mehr.."

  5. #5
    User Viertel Megabyte Avatar von TMII
    Registriert seit
    19.02.2015
    Fachbeiträge
    313
    Genannt
    31 Post(s)
    Jupp ich entwickle größtenteils auf Android, wenn ich das Projekt einfach in Android Studio importieren kann dann sollte das kein Problem darstellen

  6. #6
    User Megabyte Themenstarter
    Avatar von mymaksimus
    Registriert seit
    17.08.2013
    Fachbeiträge
    1.270
    Genannt
    50 Post(s)
    ok ich bin komplett verwirrt... offenbar liegt es daran dass der resultierende string 5 zeichen lang ist [x:y]....
    bestätige ich gerade, probiere alles mögliche aus.
    jap. liegt daran... bei 6 zeichen ist oben rechts die ecke eingeschnitten oder wie man das nennen will.

    ich versuch jetzt mal andere fonts oder ne andere größe.

    gucke ob ich später ein kskb bastel.. ich müsste ja die texturen iwi ersetzen mit PixMap's oder so?
    Muss mal gucken

    *** Edit ***

    ok also es liegt offenbar irgendwie an der verbindung mit den hintergrund hexas die gemalt werden.
    alleine die schrift da passiert nichts. gut, irgendwie auch logisch. ich teste weiter.
    ein string mit " " erzeugt die streifen übrigens auch nicht ". " auch nicht. ... what the fuck

    *** Edit ***

    ok offenbar entsteht der fehler nur wenn der string 5 bzw 6 zeichen lang ist und von diesen kein zeichen ein leerzeichen ist.
    wenn ich den string dann um ein leerzeichen verlängere entsteht gar kein fehler mehr. (auch nicht von 5 auf 6)

    *** Edit ***

    Libgdx Spielfeld-14215158_1284646531567988_1189262284_o.jpg

    verwendeter font und größe spielen keine rolle.
    was zum...

    ich werde aus diesen komischen streifen auch nicht wirklich schlau

    *** Edit ***

    offenbar zieht sich immer ein dreieck vom ende des ersten felds (unten links) zu allen anderen... kann das sein?
    und das gönnt sich irgendwie die texture des felds...

    *** Edit ***

    ok das mit den leerzeichen war quatsch. ein leerer string mit " " funktioniert genauso (nicht).

    *** Edit ***

    okay also anscheeeeinnendd....
    liegt es irgendwie daran, dass meine geometrie von den hexas falsch ist...
    vielleicht habe ich einen fehler im "algorithmus" eingebaut..
    weil wenn ich daraus einfach ein dreieck mache (gehardcoded) dann gibts keine fehler mehr
    gucke jetzt
    "und außerdem, so lange her, dafür gibts keine teile mehr.."

  7. #7
    User Megabyte Themenstarter
    Avatar von mymaksimus
    Registriert seit
    17.08.2013
    Fachbeiträge
    1.270
    Genannt
    50 Post(s)
    yes... das ganze lag an meiner geometrie irgendwie war da irgendwas mit den indicies kaputt...

    sorry
    "und außerdem, so lange her, dafür gibts keine teile mehr.."

  8. #8
    Global Moderator Viertel Gigabyte
    Registriert seit
    05.08.2008
    Fachbeiträge
    4.902
    Genannt
    308 Post(s)
    Hast du die Hex-Grid-Geometrie selbst erstellt? (Ich hatte gesucht, und es sah aus, als gäbe es da für libgdx ja schon ein paar Klassen...)

  9. #9
    Frequent User Megabyte
    Registriert seit
    01.11.2013
    Fachbeiträge
    1.234
    Genannt
    185 Post(s)
    Blog-Einträge
    1
    yes.... Das sah auch danach aus, dass die Indices "falsch verdrahtet" wurden. Alle zeigen nach "rechts oben" Richtung (+...., +....). Das ähnliche Problem hatte ich auch schon mal, allerdings ohne high level Bib. und in 3d.

    Eine falsche Zusammensetzung der Indices liegt an den VBOs.
    Näher an den Bits, näher an der Materie
    Libgdx Spielfeld

  10. #10
    User Megabyte Themenstarter
    Avatar von mymaksimus
    Registriert seit
    17.08.2013
    Fachbeiträge
    1.270
    Genannt
    50 Post(s)
    Zitat Zitat von Marco13 Beitrag anzeigen
    Hast du die Hex-Grid-Geometrie selbst erstellt? (Ich hatte gesucht, und es sah aus, als gäbe es da für libgdx ja schon ein paar Klassen...)
    uhm.. ja.. ich habe das selbst gebastelt, weil ich dachte es ist nicht so viel arbeit und eigentlich kann man da ja auch nichts falsch machen.
    offensichtlich ja schon ._. problematisch wirds halt nur, wenn der fehler nicht sofort sichtbar ist... sondern erst wenn man versucht einen
    text mit 5 zeichen länge zu zeihnen. ZUSAMMENHANG? da kommt man ja nicht drauf..

    zum glück wollte ich die koordinaten in der form [x:y] rendern, sonst wäre mir immer noch nicht aufgefallen dass da was faul ist
    "und außerdem, so lange her, dafür gibts keine teile mehr.."

+ Antworten Thema als "gelöst" markieren

Direkt antworten Direkt antworten

Wie nennt man Wasser im festen Aggregatzustand?

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. libGDX Alternative gesucht
    Von codestuek im Forum Spiele- und Multimedia-Programmierung
    Antworten: 14
    Letzter Beitrag: 14.10.2014, 17:00
  2. (Maps) Inkonsistentes Verhalten von HashMap
    Von Shadoka im Forum Java-Grundlagen
    Antworten: 13
    Letzter Beitrag: 26.03.2014, 14:42
  3. GWT mysteriöses CSS verhalten.
    Von Prototype im Forum AWT, Swing, JavaFX & SWT
    Antworten: 4
    Letzter Beitrag: 06.03.2014, 22:16
  4. Redundantes statisches Verhalten in Klassen.
    Von Natac im Forum Allgemeine Themen
    Antworten: 13
    Letzter Beitrag: 27.08.2013, 12:43
  5. Fokus und Doppelklick - merkwürdiges Verhalten
    Von Snape im Forum AWT, Swing, JavaFX & SWT
    Antworten: 20
    Letzter Beitrag: 22.10.2008, 12:00

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •