Wie kann ich chinesische Schriftzeichen in PyGame anzeigen? Und was ist eine gute free/libre-Schriftart für diesen Zweck?Unicode-Fonts in PyGame
Antwort
Soweit ich weiß - und ich habe es selbst nicht versucht - PyGame sollte funktionieren, wenn Sie eine Unicode-Zeichenkette übergeben, die chinesische Zeichen enthält, z. du \ u4e2d \ u56fd '.
Siehe "East Asia" unter http://www.unifont.org/fontguide/ für einige geeignete Open-Lizenz-Schriften.
pygame verwendet SDL_ttf zum Rendern, also sollten Sie beim Rendern gut in Form sein.
unifont.org scheint einige umfangreiche Ressourcen für Open-Source-Schriftarten für eine Reihe von Skripts zu haben.
Ich packte die Cyberbit-Pan-Unicode-Schriftart und extrahiert das eingeschlossene ttf. Das folowing ‚arbeitete an meiner Maschine‘, die eine Windows Vista Home Basic und Python ist 2.6:
# -*- coding: utf-8 -*-
import pygame, sys
unistr = u"黒澤 明"
pygame.font.init()
srf = pygame.display.set_mode((640,480))
f = pygame.font.Font("Cyberbit.ttf",20)
srf.blit(f.render(unistr,True,(0,0,0)),(0,0))
pygame.display.flip()
while True:
srf.blit(f.render(unistr,True,(255,255,255)),(0,0))
for e in pygame.event.get():
if e.type == pygame.QUIT:
pygame.quit()
sys.exit()
Solange Sie nur Unicode-Text angezeigt wird, können Sie in fantastischer Form sein sollten. Wenn Sie jedoch Unicode-Eingaben vom Benutzer lesen möchten, ist die Situation viel düsterer. Pygame hat keine Eingabemethoden.
- 1. Pygame-Spiele mit Pygame herunterladen?
- 2. Unerwarteter Einzug in pygame
- 3. Radioknopf in Pygame?
- 4. Anklickbare Bilder in Pygame?
- 5. Ebenen in pygame ändern
- 6. UnboundLocalError in Pygame Gradientenfunktion
- 7. Objektfehler in pygame
- 8. glatte Bewegung in Pygame
- 9. Countdown-Timer in Pygame
- 10. Pygame sprite.spritecollide()
- 11. Pygame UnboundLocalError
- 12. Pygame - Importfehler
- 13. Pygame Zeitsteuerung
- 14. Pygame pygame.Rect.Clamp
- 15. pygame Installationsproblem in Mac OS
- 16. Shooting in pygame funktioniert nicht
- 17. Wie Bild in Pygame anzeigen?
- 18. Verwenden von Texteingaben in pygame
- 19. Wie gfx in pygame verwenden
- 20. Kollisionserkennung mit Sprites in Pygame
- 21. Python-Zeitzähler in Pygame-Mausereignisse
- 22. Optimierung der Tastatureingabe in Pygame
- 23. Wie funktionieren Timer in Pygame?
- 24. Pygame auf Yocto
- 25. pygame blinkender Bildschirm fix
- 26. Pygame Boundary funktioniert nicht
- 27. Pygame Spiel nicht gestartet
- 28. pygame code organisation
- 29. Pygame Installationsfehler sagt Modul
- 30. Pygame Tastatureingabe Ausgabe
Pygame _does_ haben rudimentäre Unterstützung für Ereignisse, die - wenn ich mich nicht irre - Tastenanschlagsereignisse enthält. Es ist nicht so einfach wie das Aufrufen von 'input()', aber es sollte möglich sein, UI-Eingabeelemente darüber zu erstellen. Es scheint auch Unterstützung für Ausschneiden und Einfügen über 'pygame.scrap' zu geben. – SwiftsNamesake
@SwiftsNamesake, ich sage nicht, dass Pygame Eingaben nicht lesen kann; eher, ich sage, dass es keine Standardweise gibt, das Betriebssystem oder andere [Eingabemethoden] (http://en.wikipedia.org/wiki/Input_method) zu verwenden, die Zuordnungen von Sequenzen von Schlüsselcodes zu (sagen wir Unicode)) Skript für eine bestimmte Sprache. Dies betrifft hauptsächlich Eingabesprachen außer Englisch wie Chinesisch oder Arabisch. – SingleNegationElimination
Ich verstehe das. Ich wollte nur klarstellen, dass es Möglichkeiten gibt, dieses Problem zu umgehen, indem Sie diese Funktionen selbst implementieren. – SwiftsNamesake