擅长:python、mysql、java
<p>在move函数中,每次迭代都必须设置itemconfig()fill参数。对can1.create_oval()的调用返回椭圆形的ID,可以将其作为第一个参数传递到itemconfig()方法中。然后可以按照下面的代码从那里设置填充。不过,这并不是编写代码的最有效方法。对于所有的全局变量,最好将此脚本放入一个类中。在</p>
<pre><code>def move():
global x1, y1, dx, dy, flag, n
x1, y1 = x1 + dx, y1 + dy
if x1 > 360:
n = 1
x1, dx, dy = 360, 0, 15
can1.itemconfig(1, fill=color[n])
if y1 > 360:
n = n + 2
y1, dx, dy = 360, -15, 0
can1.itemconfig(1, fill=color[n])
if x1 < 10:
n = 2
x1, dx, dy = 10, 0, -15
can1.itemconfig(1, fill=color[n])
if y1 < 10:
n = 3
y1, dx, dy = 10, 15, 0
can1.itemconfig(1, fill=color[n])
can1.coords(oval1, x1, y1, x1 + 30, y1 + 30)
if flag > 0:
abl1.after(50, move)
</code></pre>