!Joystick bei Game ohne PyGame

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.
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Komisch

Diemal habe ich genau das gleich gemacht und es hat funktioniert.

Naja danke für den tipp!
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
abgdf

Komisch
Diemal habe ich genau das gleich gemacht und es hat funktioniert.
Menno, das sollte Dich doch jetzt nicht wundern: Ich sagte doch, das Skript stimmt im Prinzip, nur Python muß genug Zeit für die Initialisierung haben. Wahrscheinlich hatte es die jetzt, aus anderen, systeminternen Gründen.

Gruß
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Das habe ich schon verstanden ich verstehe bloß die Gründe nicht
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
abgdf

Na, stell' Dir vor, Du hättest eine Fensteranwendung mit Knöpfen. Noch bevor das Fenster gezeichnet ist, versuchst Du, den Text eines Knopfes zu ändern oder einen Klick zu simulieren. Dann würde das Skript abbrechen mit einer Meldung:
Heh, ich muß erst meine Anwendung initialisieren ...
So ähnlich dürfte das hier auch sein (wx ist ja eigentlich ein GUI-Toolkit).

Gruß
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

und wie kann man denn Button drücke abfragen?
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
abgdf

und wie kann man denn Button drücke abfragen?
Na, z.B. so: Man wartet, bis das Fenster aufgeht:

Code: Alles auswählen

#!/usr/bin/env python

import wx

class MainWin:

    def __init__(self):
        self.app = wx.PySimpleApp()
        self.frame = wx.Frame(None, -1, "Some Window", size = (300, 100))
        self.panel = wx.Panel(self.frame)

        self.button = wx.Button(self.frame, label = "Click me", pos = (100, 30), size = (100, 50))

        self.frame.Bind(wx.EVT_BUTTON, self.clicked, self.button)
        self.frame.Bind(wx.EVT_CLOSE, self.end)

        self.frame.Show()

        self.app.MainLoop()

    def clicked(self, event):
        print "Clicked."

    def end(self, event):
        print "Bye."
        self.frame.Destroy()

MainWin()
(Bin mehr 'n Tkinter-Mann ...)

Das Problem ist, daß Du bei Deiner Joystick-Abfrage eben kein Fenster haben willst.
Das führt dann zu dem oben beschriebenen Problem vorzeitiger Abfrage ("questio praecox" sozusagen :lol:) ...

Gruß
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Ich gleube das ist nicht das was ich meine.
Das erzeugt ein Fenster und wenn man da den Button <mit der maus> drückt schreibt das etwas.
Ich wollte aber eigentlich, dass etwas passiert, wenn man einen Button am joystick drückt.

Trotzdem Danke und Sorry, wenn ich mich etwas kompliziert ausgedrückt habe... :oops:
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

es funktioniert aber nicht.
Demnach müsste es ja heißen:
stick.ButtonIsDown()
oder
stick.GetButtonState()

Bei beiden kommt aber, dass es den Befehl nicht gibt
oder wieder das problem mit der application...
[/code]
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
abgdf

Doch,

Code: Alles auswählen

#!/usr/bin/env python

import wx
import time

app = wx.PySimpleApp()
stick = wx.Joystick()

time.sleep(4)

print stick.GetPosition()
print stick.GetButtonState()
geht. Ich erwarte eigentlich auch, daß Du das mit meinem bis auf die letzte Zeile identischen Skript oben so testest.
Bevor Du erneut hier anfragst.

Gruß
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Ok, Danke euch allen!
Es funtzt
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
Antworten