2016-04-08 13 views
0

Also ich versuche, einen Menübildschirm für ein Spiel, das ich mit Python in PyGame mache, zu machen und alles funktioniert gut bis auf das eigentliche Bild des Bildschirms selbst. Das Spiel, das ich mache, ist textbasiert und wenn ich eine Textzeile auf dem Bildschirm mit dem _-Zeichen blitze, wird es durch ein Leerzeichen ersetzt. Dies passiert nicht, wenn es nicht über ein Leerzeichen oder ein anderes _ ist. Ich stellte sicher, dass meine Zeichenfolge korrekt funktionierte, und es scheint nur mit dem Befehl font.render() des Befehls screen.blit() zu funktionieren. Ich würde gerne wissen, ob es ein seltsames Feature gibt, das bestimmte Symbole davon abhält, normal gerendert oder geblottet zu werden. Danke für jede Hilfe, die du mir geben kannst. * Hinweis: Dies ist ausschließlich für Multi-Line-String-Rendering, siehe Code für wie ich das tun. Ich rendere jede Zeile einzeln und aktualisiere dann den Bildschirm, sobald sie alle gerendert sind.PyGame wird nicht gerendert _ Text smbol

lines = multi_line_text.split("\n") 
    tempplace = 0 
    place = 5#starting pixel positioning 
    while tempplace != len(lines): 
     text = font.render(lines[tempplace], False, white, black) 
     game_window.blit(text, (5, place)) 
     place = place + 15#Pixel positioning increment 
     tempplace = tempplace + 1 
+0

können Sie zeigen, was Sie bekommen, wenn Sie 'print (multi_line_text)' – Keatinge

+0

Ich meinte jede mehrzeilige Zeichenfolge, die Sie hinzufügen wollten, ich habe versucht, die Frage allgemein zu halten. – SwaggerThanThou

Antwort

0

Schließen Sie diese Frage. Ich erkannte, dass mein Fehler in der Tatsache lag, dass ich meinem Text nicht genügend Platz zwischen den Zeilen gab, wodurch das Symbol mit der nächsten Zeile abgeschnitten wurde. Tut mir leid, dass ich es nicht früher bemerkt habe! Ich akzeptiere dies als Antwort und schließe die Frage so schnell wie möglich.

0

können Sie Ihren Code teilen, ich bin Rendering "hello_world" fein mit pygame mit diesem Code

def draw_text(text, size=20, color=white, x=0, y=0): 

    myfont = pygame.font.SysFont("monospace", size) 
    label = myfont.render(text, 1, color) 
    screen.blit(label, (x,y)) 

dann irgendwo in der while-Schleife Anruf draw_text("hello_world")

enter image description here

+0

Nicht ganz so. Ich werde meine ursprüngliche Frage ändern, um sie klarer zu machen. – SwaggerThanThou