Tastenkombination doppelt belegen?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Mr.Wolna
User
Beiträge: 93
Registriert: Dienstag 6. Oktober 2009, 17:43

Irgendwie gibt es nur Probleme, heute. -.-

Wie kann ich eine Tastenkombination 2 mal belegen?

Folgender Code:

Code: Alles auswählen

if keyinput[pygame.K_LALT] and keyinput[pygame.K_RETURN]:    
            if modus == 0:
                fullscreen(1)
                modus = 1

        if keyinput[pygame.K_0]:
            if modus == 1:
                modus = 0
Standart ist der Modus oben auf 0. Das fullscreen() ist eine Funktion, die den Bildschirm eben zu full der window mode macht.

Wie im Code funktioniert es super, aber wie mache ich das NUR mit ALT und ENTER?

MfG,
Wolna
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

http://www.pygame.org/docs/ref/key.html ... y.get_mods

Das sollte damit zu realisieren sein.
Mr.Wolna
User
Beiträge: 93
Registriert: Dienstag 6. Oktober 2009, 17:43

Sorry ich sehe nicht wie mir das helfen sollte. -.-
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Ich verstehe die Frage nicht so ganz.
Was funktioniert "super"?
Willst du dass das Stueck ausgefuehrt wird, wenn LAlt + RET gedrueckt werden? Wenn ja: Alt ist ein Modifier, also sollte die Funktion dir hlfen.
Mr.Wolna
User
Beiträge: 93
Registriert: Dienstag 6. Oktober 2009, 17:43

Eh nein, folgendes:

Mit diesen Script setze ich mit Alt und Enter mein Fenster auf FULLSCREEN.
Mit der Taste "0" wir das ganze wieder in den WINDOWMODUS versetzt.
MIt ALT und ENTER wieder in den FULLSCREEN und so weiter.


Ich will aber, wie man das von den meisten Applikationen kennt, alleine mit den ALT und ENTER Tasten zwischen WINDOW und FULLSCREEN wechselt.

Also wenn FULL dann WIN und wenn WIN dann FULL, habe in meiner Unwissenheit folgenden Code jetzt:

Code: Alles auswählen


     if keyinput[pygame.K_LALT] and keyinput[pygame.K_RETURN]:    
            if modus == 0:
                fullscreen(1)
                modus = 1

            if modus == 1 and keyinput[pygame.K_LALT] and keyinput[pygame.K_RETURN]:
                fullscreen(0)
                modus = 0


Das Programm sollte eigentlich wider auf die Tastenkombi warten, aber er wechselt sofort wieder auf WINDOW, was ja logisch ist da der Modus ja mit der Aktivierung auf FULL auf 1 wechselt.


Hoffe jetzt versteht ihr das Problem und was ich erreichen will.

MFG
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

...vielleicht reicht auch einfach...

Code: Alles auswählen

     if keyinput[pygame.K_LALT] and keyinput[pygame.K_RETURN]:    
            if modus == 0: 
                fullscreen(1) 
                modus = 1 
            elif modus == 1: 
                fullscreen(0) 
                modus = 0
Aber... keine Ahnung oO''
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Es bleibt: Du bist mit pygame überfordert, weil Du Dich nicht auf das wesentliche konzentrieren kannst: Nämlich die Programmlogik! Du musst Dir hier vor allem den Zustand merken, wie BlackVivi ja schon aufgezeigt hat.

Desweiteren: Beschreibe doch Deine Probleme besser! Alleine das hilft oft schon, selber auf den Trichter zu kommen, woran es klemmt. Du hast es ja später anhand des Beispiels recht schön beschrieben. Aber das hättest Du ja von Anfang an machen können ;-)
Mr.Wolna
User
Beiträge: 93
Registriert: Dienstag 6. Oktober 2009, 17:43

Hyperion hat geschrieben:Es bleibt: Du bist mit pygame überfordert, weil Du Dich nicht auf das wesentliche konzentrieren kannst: Nämlich die Programmlogik! Du musst Dir hier vor allem den Zustand merken, wie BlackVivi ja schon aufgezeigt hat.

Da hast du Recht. Aber ich ärgere mich, wieso ich das nicht gesehen habe. NATÜRLICH kommt da ein elif hin -.- ... was sonst? *facepalm*
Hyperion hat geschrieben: Desweiteren: Beschreibe doch Deine Probleme besser! Alleine das hilft oft schon, selber auf den Trichter zu kommen, woran es klemmt. Du hast es ja später anhand des Beispiels recht schön beschrieben. Aber das hättest Du ja von Anfang an machen können ;-)
Da hast du wieder Recht. Das versuche ich auch immer, dachte ich hätte mich eigentlich klar ausgedrückt. Werde schauen das ich bei weiteren Fragen (und die werden sicher kommen^^) noch mehr beherzige.

Jedenfalls bin ich voller Zuversicht weiter Python zu erlernen.

Ah ja noch was kurzes. Tut mir Leid wenn es OT wird, aber ich weiß nicht ob ich wegen so was kurzem mal wieder ein Thread aufmachen soll.

Gibt es in Python oder Pygame eine Funktion um erst nach einer bestimmten Zeit eine Aktion auszuführen. Der Hintergrund ist folgender:

Ich wechsle jetzt zwischen den Modis und lass einen entsprechenden Text ausblenden. Ich will diesen aber per Funktion (screen.fill) nach ca. 3 Sekunden wider verschwinden lassen. Ich kenne das von anderen Sprachen (AHK), fidne aber nix passendes für Python. Bzw. hier steht was, aber er nimmt meine Argumente nicht an.

http://www.pygame.org/docs/ref/time.htm ... .set_timer

Wie gesagt, mir tut der OT Leid, aber ich will nicht NOCH EINEN Thread aufmachen. Habt Nachtsicht mit mir, ich bin eben sehr lernbegierig.^^

MFG,
WOLNA
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mr.Wolna hat geschrieben:Ah ja noch was kurzes. Tut mir Leid wenn es OT wird, aber ich weiß nicht ob ich wegen so was kurzem mal wieder ein Thread aufmachen soll.
Ja, solltest du. Threads kosten ja nichts, oder?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Mr.Wolna
User
Beiträge: 93
Registriert: Dienstag 6. Oktober 2009, 17:43

Gut Chef, dann mache ich das.

Danke. :)
Antworten