【发布时间】:2014-06-21 21:19:00
【问题描述】:
我创建了一个小“游戏”,但我遇到了一些问题。
这里是代码:http://pastebin.com/XkSvLAHS
所以,有一个球应该在画布上随机移动,但我现在不知道如何做到这一点。 我有这个:
def move_ball_right_down():
global x, y, dx, dy
x, y = x + dx, y + dy
can.coords(ball, x-r, y-r, x+r, y+r)
def move_ball_left_up():
global x, y, dx, dy
x, y = x - dx, y - dy
can.coords(ball, x-r, y-r, x+r, y+r)
但是有了这个,球只会从一个角落到另一个角落,但它应该随机移动。
我还有一个问题:
def click_ball(event):
global x, y, points, ball, r, dx, flag
if flag == 1 and\
event.x <= x + r and event.x >= x - r and\
event.y <= y + r and event.y >= y - r:
这些线假设检测球,所以当我点击它时,我得到一个点,但它不仅选择了球,而且选择了它周围的一个正方形,我确信有更好的方法来检测球。我该怎么办?
【问题讨论】:
-
您还没有向我们展示为
dx和dy赋值的代码 - 这就是决定球移动的地方,也是您的第一个问题所在。 -
@jonrsharpe 你为什么搁置我的话题?我认为 Brionius 的答案不会太长,而且答案是正确且有帮助的。我不明白。
标签: python canvas random tkinter