Pygame


Sephiroth

Active Member
Joined
Jul 11, 2006
Messages
658
Age
34
Location
Germany>kaiserslautern>Hohenöllen
Website
Visit site
Hallo,

folgendes Problem:
Code:
import pygame
pygame.init()

screen = pygame.display.set_mode([320, 240])

MausKoords=pygame.mouse.get_pos()
schrift=pygame.font.Font(None,20)
text=schrift.render('MausX: '+str(MausKoords[0])+'MausY:'+str(MausKoords[1]),0,(0,0,255))
screen.blit(text,[30,70])
pygame.display.update()
pygame.time.wait(3000)

pygame.quit()
Ich bekomme manchmal den Fehler error: SDL_ttf render failed
Ich kann nicht wirklich ein System erkennen, wann der Fehler kommt und wann nicht.
Manchmal klappt es, manchmal nicht.

Ich führe das Script auf dem pc aus.
Python 2.5.2
pygame 1.7.1


Achso und noch eine Frage:
Weiß jemand wie man etwas Buttonähnliches erstellen?
Das wenn ich irgendwo im Fenster mit der Maus hinklicke, das etwas geschiet klappt ja schon..*stolz*^_^


Hoffe meine Fehlerbeschreibung reicht aus, wenn ihr allerdings noch infos oder so benötigt enfach hier reinschreiben.

Schonmal danke im vorraus für eure Antworten.

Gruss
 
Hi!

Hmm, könnte es sein, daß die Zeile
Code:
<i>
</i>text=schrift.render('MausX: '+str(MausKoords[0])+'MausY:'+str(MausKoords[1]),0,(0,0,255))

falsch ist? Ich hab irgendwo gelesen, daß das 2. Argument eine 1 sein soll und keine 0. Lies mal hier nach (und google einfach mal nach "pygame sdl_ttf render" :) ) :

http://www.python-forum.de/viewtopic.php?p=49919

Hoffe es hilft,
Markus
 
Den Thread hatte ich auch schon gefunden...

Bei mir hängt es definitiv nicht am 2ten Argument(Anti-Aliasing). Bei mir kommt der Fehler trotzdem. Egal ob 1 oder 0.


Kann mir jemand vielleicht sagen, wie ich unter Windows die ttf lib von sdl neuinstallieren kann?
Hab schon diverses ausprobiert, aber anschienend nie die richtigen Dateien ersetzt.
Also am besten wärs, wenn mir jemand sagen könnte was ich wo runterladen soll und wohin kopieren soll^^

Gruss
 
1) Sorry für den Doppelpost, muss aber mal pushen..:)
2)Neue Frage...:
ich habe auf dem Rechner ein kleines Script geschrieben, dass jetzt auch auf meinem gp2x laufen soll.
Allerdings bekomme ich die Buttonansprache nicht richtig hin.

Ich habe ein zusätzliches Modul gp2x.py erstellt mit dem Inhalt:
Code:
<i>
</i># GP2X joystick button mappings
BUTTON_UP            = 0
BUTTON_DOWN          = 4
BUTTON_LEFT          = 2
BUTTON_RIGHT         = 6
BUTTON_UPLEFT        = 1
BUTTON_UPRIGHT       = 7
BUTTON_DOWNLEFT      = 3
BUTTON_DOWNRIGHT     = 5
BUTTON_CLICK         = 18
BUTTON_A             = 12
BUTTON_B             = 13
BUTTON_X             = 14
BUTTON_Y             = 15
BUTTON_L             = 10
BUTTON_R             = 11
BUTTON_START         = 8
BUTTON_SELECT        = 9
BUTTON_VOLUP         = 16
BUTTON_VOLDOWN       = 17

(Aus dem gp2x wiki kopiert..Wink )

Bisher hab ich in meinem Programm Tastaturabfragen so engegengenommen:
zb:
Code:
        pygame.event.pump()
        if pygame.key.get_pressed()[pygame.K_LEFT]:
            self.spieler1.move(-1,0)

Und das ganze in einer while-Schleife.

Wie kann ich diesen Aufruf umschrieben, dass er eben die Joystick oder Buttoneingabe vom Handheld annimmt?


Im wiki steht zwar folgendes:
Code:
    event = pygame.event.poll()
    if event.type == pygame.JOYBUTTONDOWN:
        if event.button == gp2x.BUTTON_X:
            print "X pressed"

http://wiki.gp2x.org/wiki/SDL_Joystick_mapping#Python

Allerdings kann ich damit nicht den Button gedrückt halten, sondern muss immerwieder neu draufdrücken das zb self.spieler1.move(-1,0) ausgeführt wird.
Bei dem von mir als erstes geposteten war dies nicht so.

Also zusammenfassend:
Gibt es eine Anweisung, mit der ich den Input vom Joystick genauso regeln kann wie mit pygame.key.get_pressed()[pygame.K_LEFT] auf dem PC?

Gruss
 
sag mal, gibt es irgendwo hier schon sprites-demos von python auf dem gp2x, ich suche python-spritegrafik-demos für pygame usw.

mfg
 
Back
Top