如何通过在 pyglet 中用鼠标拖动将 .png 从 x,y 拖动到 x1,y1 window
How to drag .png from x,y to x1,y1 by draging with mouse in pyglet window
我知道如何制作 window,我知道如何显示图像,我知道如何根据给定的坐标以给定的方式移动它。我想用鼠标移动图像。从一个地方拿起并放在另一个地方。在同一个 pyglet window 中。
如何做这样的事情?有人会很友好地指出一些代码示例。
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()
我知道如何制作 window,我知道如何显示图像,我知道如何根据给定的坐标以给定的方式移动它。我想用鼠标移动图像。从一个地方拿起并放在另一个地方。在同一个 pyglet window 中。 如何做这样的事情?有人会很友好地指出一些代码示例。
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()