我正在尝试制作一个虚拟足球剧本,并且需要能够拖放位图(在本例中为 X 或 O)以进行足球比赛。这是我的一些代码。
class NewDefense(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self, parent, id, 'New Defense', wx.Point (0,0), size=(1000,700), style=wx.MINIMIZE_BOX|wx.SYSTEM_MENU|wx.CAPTION|wx.CLOSE_BOX|wx.CLIP_CHILDREN)
self.SetBackgroundColour('#2a2a2a')
bg = wx.Panel(self)
wx.Frame.CenterOnScreen(self)
x2 = wx.Image(defense, wx.BITMAP_TYPE_ANY).ConvertToBitmap()
data = wx.BitmapDataObject(x2)
################# This is where the problem is.
drag = wx.DragImage(x2)
drag.BeginDrag((0,0), self, fullScreen=False, rect=None)
drag.Show()
#drag.Move()
drag.EndDrag()
#################
##LINE
wx.StaticBitmap(bg, wx.NewId(), x2, (330, 270), (x2.GetWidth(), x2.GetHeight()))
wx.StaticBitmap(bg, wx.NewId(), x2, (410, 270), (x2.GetWidth(), x2.GetHeight()))
wx.StaticBitmap(bg, wx.NewId(), x2, (490, 270), (x2.GetWidth(), x2.GetHeight()))
wx.StaticBitmap(bg, wx.NewId(), x2, (570, 270), (x2.GetWidth(), x2.GetHeight()))
##LINE-BACKERS
wx.StaticBitmap(bg, wx.NewId(), x2, (320, 160), (x2.GetWidth(), x2.GetHeight()))
wx.StaticBitmap(bg, wx.NewId(), x2, (450, 160), (x2.GetWidth(), x2.GetHeight()))
wx.StaticBitmap(bg, wx.NewId(), x2, (580, 160), (x2.GetWidth(), x2.GetHeight()))
我现在拥有的最终会起作用吗?我应该改变或调查什么?我已经搜索了这个主题,这让我很困惑。关于我能做什么的任何建议?
注意:这只是我的一小部分代码。如果需要更多,请告诉我。
我尝试运行程序,但无法移动位图。pt 应该是什么?位图的位置或移动到的位置?如果它移动到哪里我如何设置它要移动到哪里如果我还没有确切的位置因为我希望能够拖动它