Python pyglet on_mouse_press

Ich versuche, eine einfache GUI mit Pyglet zu machen.

Hier ist mein Code:

button_texture = pyglet.image.load('button.png') button = pyglet.sprite.Sprite(button_texture, x=135, y=window.height-65) def on_mouse_press(x, y, button, modifiers): if x > button and x < (button + button_texture.width): if y > button and y < (button + button_texture.height): run_program() 

Bildbeschreibung hier eingeben

Das Problem

Die "button.png" wird als rotes Feld mit "Klick" angezeigt. Und soll run_program () starten. Aber derzeit ist das Gelb in der Unterseite links der Ort, an den ich klicken muss, um run_program () zu starten.

One Solution collect form web for “Python pyglet on_mouse_press”

Sie vergleichen die Schaltfläche (der Schlüsselcode) mit den X / Y-Koordinaten. Dies geschieht, weil die Funktionsparameter- button Ihre globale Variable schattiert. Außerdem sollten Sie die Tasten x , y , width und height .

 button_texture = pyglet.image.load('button.png') button_sprite = pyglet.sprite.Sprite(button_texture, x=135, y=window.height-65) def on_mouse_press(x, y, button, modifiers): if x > button_sprite.x and x < (button_sprite.x + button_sprite.width): if y > button_sprite.y and y < (button_sprite.y + button_sprite.height): run_program() 

Ich habe Ihren globalen Variablenknopf mit button_sprite , um den button_sprite zu vermeiden.

  • Mit pyglet in python, warum ist meine Bildrate beschleunigen, wenn ich Maus ziehen?
  • Wo ist das Button-Widget im Pyglet?
  • Wie kann man WAV-Datei in Python spielen?
  • Python pyglet AVBin - Wie installiere ich AVBin
  • Pyglet: Sprite.draw () und Batch.draw () funktionieren nicht, aber Image.blit tut
  • Mit glGetFloatv die Modelview-Matrix im Pyglet abrufen
  • Daten von OpenGL erhalten glReadPixels (mit Pyglet)
  • Pyglet Image Rendering
  • Pyglet wird nach dem Spielen mp3 nicht aufhören
  • Pyglet: Ändern des Bildes einer Sprite-Instanz beim Drücken einer Taste
  • Ist es möglich, pygame oder pyglet in einem Browser laufen zu lassen?
  • Python ist die beste Programmiersprache der Welt.