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

Beitragvon INFACT » Dienstag 30. Dezember 2008, 21:34

Komisch

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

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

Beitragvon abgdf » Dienstag 30. Dezember 2008, 21:44

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

Beitragvon INFACT » Dienstag 30. Dezember 2008, 21:51

Das habe ich schon verstanden ich verstehe bloß die Gründe nicht
ein kleines game für die die lust haben http://konaminut.mybrute.com

;-)
abgdf

Beitragvon abgdf » Dienstag 30. Dezember 2008, 22:19

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

Buttons drücken

Beitragvon INFACT » Mittwoch 31. Dezember 2008, 20:31

und wie kann man denn Button drücke abfragen?
ein kleines game für die die lust haben http://konaminut.mybrute.com

;-)
abgdf

Beitragvon abgdf » Donnerstag 1. Januar 2009, 03:01

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

Beitragvon INFACT » Donnerstag 1. Januar 2009, 19:50

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:
ein kleines game für die die lust haben http://konaminut.mybrute.com

;-)
abgdf

Beitragvon abgdf » Donnerstag 1. Januar 2009, 21:43

Schon oben genannte Doku lesen :wink: :

http://docs.wxwidgets.org/stable/wx_wxj ... uttonstate

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

Beitragvon INFACT » Donnerstag 1. Januar 2009, 23:29

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]
ein kleines game für die die lust haben http://konaminut.mybrute.com

;-)
abgdf

Beitragvon abgdf » Freitag 2. Januar 2009, 11:02

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

Beitragvon INFACT » Sonntag 4. Januar 2009, 19:48

Ok, Danke euch allen!
Es funtzt
ein kleines game für die die lust haben http://konaminut.mybrute.com

;-)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder