Pygame

Für alle Python / pyGame-Entwickler
Antworten
Autor
Nachricht
Benutzeravatar
Sephiroth
9 Bit
Beiträge: 624
Registriert: Di Jul 11, 2006 14:14
Wohnort: Kaiserslautern
Kontaktdaten:

Pygame

#1 Beitrag von Sephiroth » Di Mär 04, 2008 00:50

Hallo,

folgendes Problem:

Code: Alles auswählen

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
Das Internet ist ab sofort auf 17.000 DVDs erhältlich.
Alternativ im Angebot: die Jugenfreie Version auf 2 CDs.

synapscape
4 Bit
Beiträge: 18
Registriert: Fr Feb 22, 2008 12:38

#2 Beitrag von synapscape » Mi Mär 05, 2008 13:49

Hi!

Hmm, könnte es sein, daß die Zeile

Code: Alles auswählen

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

Benutzeravatar
Sephiroth
9 Bit
Beiträge: 624
Registriert: Di Jul 11, 2006 14:14
Wohnort: Kaiserslautern
Kontaktdaten:

#3 Beitrag von Sephiroth » Mi Mär 05, 2008 14:47

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
Das Internet ist ab sofort auf 17.000 DVDs erhältlich.
Alternativ im Angebot: die Jugenfreie Version auf 2 CDs.

Benutzeravatar
Sephiroth
9 Bit
Beiträge: 624
Registriert: Di Jul 11, 2006 14:14
Wohnort: Kaiserslautern
Kontaktdaten:

#4 Beitrag von Sephiroth » So Mär 09, 2008 03:18

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: Alles auswählen

# 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: Alles auswählen

        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: Alles auswählen

    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
Das Internet ist ab sofort auf 17.000 DVDs erhältlich.
Alternativ im Angebot: die Jugenfreie Version auf 2 CDs.

sechsrad
8 Bit
Beiträge: 266
Registriert: Fr Feb 22, 2008 11:30

#5 Beitrag von sechsrad » Fr Mär 28, 2008 18:03

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

mfg

Antworten

Zurück zu „Python / pyGame“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast