当我运行下面的代码时,我得到了GIF中的初始窗口,单击它会打开一个新窗口,但是新窗口中的形状在 Flink 。
我已经尝试清除两个窗口之前,可以看到在代码中,但我不知道是什么原因导致 Flink 。
import pyglet
from pyglet import shapes
from pyglet.window import mouse
window = pyglet.window.Window(960, 540)
window2 = pyglet.window.Window(960, 540, visible=False)
batch = pyglet.graphics.Batch()
batch2 = pyglet.graphics.Batch()
class window_one():
circle = shapes.Circle(700, 150, 100, color=(50, 225, 30), batch=batch)
square = shapes.Rectangle(200, 200, 200, 200, color=(55, 55, 255), batch=batch)
rectangle = shapes.Rectangle(250, 300, 400, 200, color=(255, 22, 20), batch=batch)
rectangle.opacity = 128
rectangle.rotation = 33
line2 = shapes.Line(150, 150, 444, 111, width=4, color=(200, 20, 20), batch=batch)
class window_two():
line = shapes.Line(100, 100, 100, 200, width=19, batch=batch2)
star = shapes.Star(800, 400, 60, 40, num_spikes=20, color=(255, 255, 0), batch=batch2)
@window.event
def on_draw():
window.clear()
window2.clear()
batch.draw()
@window.event
def on_mouse_press(x,y,button, modifier):
window2.set_visible(True)
batch2.draw()
pyglet.app.run()
我尝试了上面的代码,并期待一个窗口出现在一个点击和形状显示“固体”。
我在MacBook上运行IDLE。
1条答案
按热度按时间zqdjd7g91#
每个
pyglet.window
都需要自己的on_draw
和on_mouse_press
事件回调: