diagonale Steuerung für Spiele?

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
M&M's_Knabberer
User
Beiträge: 34
Registriert: Sonntag 27. September 2015, 17:05

Samstag 31. Oktober 2015, 14:43

Hallo ich hab ein kleines Spiel geschrieben, aber die Steuerung harkt son bisschen. Es wäre hilfreicher, wenn man diagonal steuern könnte, doch mir fehlt die Kenntnis für passende Befehle gibt es da Möglichkeiten?

Code: Alles auswählen

def schiff_beweg(event):
    if event.keysym == 'Up':
        c.move(schiff_id, 0,-SCHIFF_GESCHW)
        c.move(schiff_id2, 0,-SCHIFF_GESCHW)
    elif  event.keysym == 'Down':
        c.move(schiff_id, 0,SCHIFF_GESCHW)
        c.move(schiff_id2, 0,SCHIFF_GESCHW)
    elif event.keysym == 'Left':
        c.move(schiff_id,-SCHIFF_GESCHW, 0)
        c.move(schiff_id2,-SCHIFF_GESCHW, 0)
    elif event.keysym == 'Right':
        c.move(schiff_id,SCHIFF_GESCHW, 0)
        c.move(schiff_id2,SCHIFF_GESCHW, 0)
            
c.bind_all('<Key>', schiff_beweg)
Also mit dem Code kann man die Figur nach oben, unten, links und rechts bewegen. Aber da dadurch zuviel Zeit drauf geht, wäre es echt hilfreich wenn man wie oben genannt, schrägt links oben, rechts unten etc. lenken könnte.
Hat jemand vielleicht Ahnung wie man das schreiben könnte?
Vielen Dank.
:)
Benutzeravatar
noisefloor
User
Beiträge: 2524
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Samstag 31. Oktober 2015, 17:31

Hallo,

die Suche nach "pygame diagonal movement" bei Google und Co sollten dir Erleuchtung bringen. Bei mit ist der 1. Suchtreffer ein Link zu einem Thread bei StackOverflow, wo dass ganze IMHO gut erklärt wird - selbst dann, falls du kein pygame benutzt :-)

Gruß, noisefloor
DinoL
User
Beiträge: 2
Registriert: Dienstag 3. November 2015, 17:30

Dienstag 3. November 2015, 17:35

Sehr cool, danke für den Hinweis, hat mir ebenfalls weitergeholfen!

Jetzt habe ich mich aber schon registriert...Naja wird nicht die letzte Frage bleiben :)
Antworten