好的,所以我想用tkinter中的按钮以椭圆形图案移动圆圈。我以前让它一次来回移动10px,但我不知道如何让它在椭圆形中移动
我的来回代码如下:
from Tkinter import *
def ball(gd, hb):
global x1, y1
x1, y1 = x1+gd, y1+hb
can1.coords(oval1,x1, y1, x1+30, y1+30)
def move():
global direction
if x1 + 30 == 250:
direction = -1
elif x1 == 0:
direction = 1
ball(direction*10, 0)
x1 , y1, direction = 0, 125, 1
root = Tk()
can1 = Canvas(root,height = 250, width =250, bg = 'black')
oval1= can1.create_oval(x1,y1,x1+30,y1+30, width=2, fill='orange')
can1.pack()
Button(root, text ='Move Ball', command = move).pack()
root.mainloop()
任何想法都会对我有所帮助,我只需指出正确的方向
答案 0 :(得分:0)
好的,如果你的意思是你只想要一个椭圆形状,你可以使用x1,y1,x1+60,y1+30
而不是x1 + 30,y1 + 30。
如果你打算像球反弹那样重塑球,你必须考虑一些因素。
max width
(在你的情况下是x = 250)你必须伸出相反的坐标(oval1, x1 , y1 ,x1 + 60,y1 + 30),y1被忽略,因为你只是在x轴上移动。
它还表明您可以使用鼻窦来达到您想要的效果。就像将他添加到所需坐标之上一样。因此,“Point”应该移动得更快,在顶部添加窦可能就可以了。
这是我的想法。只是一个快速的。也许明天我会找到一个更好的。如果您有任何疑问,请发表评论。