【问题标题】:How to drag .png from x,y to x1,y1 by draging with mouse in pyglet window如何通过在pyglet窗口中用鼠标拖动将.png从x,y拖动到x1,y1
【发布时间】:2021-10-23 02:33:33
【问题描述】:

我知道如何制作一个窗口,我知道如何显示图像,我知道如何根据给定的坐标以给定的方式移动它。我想用鼠标移动图像。从一个地方拿起,在另一个地方放下。在同一个 pyglet 窗口内。 如何做这样的事情?有人会好心地向我指出一些代码示例。

【问题讨论】:

    标签: python image window pyglet


    【解决方案1】:

    PyGlet 有一个 on_mouse_drag 事件。见Mouse events

    创建pyglet.sprite

    sprite = pyglet.sprite.Sprite(image)
    

    当鼠标在精灵上时改变精灵的位置:

    @window.event
    def on_mouse_drag(x, y, dx, dy, buttons, modifiers):
        if sprite.x < x < sprite.x + sprite.width and sprite.y < y < sprite.y + sprite.width:
            sprite.x += dx
            sprite.y += dy
    

    小例子:

    from pyglet.gl import *
    
    window = pyglet.window.Window(300, 300, "drag", resizable = True)
    
    image = pyglet.image.load('banana64.png')
    sprite = pyglet.sprite.Sprite(image, x=20, y=20)
    
    @window.event
    def on_mouse_drag(x, y, dx, dy, buttons, modifiers):
        if sprite.x < x < sprite.x + sprite.width and sprite.y < y < sprite.y + sprite.width:
            sprite.x += dx
            sprite.y += dy
    
    @window.event
    def on_draw():
        window.clear()
        sprite.draw()
        
    pyglet.app.run()
    

    【讨论】:

      猜你喜欢
      • 2011-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-06
      • 1970-01-01
      相关资源
      最近更新 更多