在弹丸运动中制作椭圆形动画

时间:2014-06-24 12:21:45

标签: tcl tk

我想要制作椭圆形/球形物体的动画来进行射弹运动,就像被足球运动员踢出一样。我没有做任何游戏。

我缺少的是TCL的技术知识,特别是在使用其他人编写的代码时。

很快:一个动画球在由开始/停止按钮控制的画布上进行抛射运动

examples available,但我需要更好的控制,特别是TCL中的“Projectile Motion”。

我会非常感谢任何与代码相关的帮助,因为我不是一个优秀的TCL程序员(即使在我试图学习它的技术性之后)。

1 个答案:

答案 0 :(得分:1)

您可以在Tk canvas窗口小部件上绘制椭圆(包括圆形)。

canvas .c -width 500 -height 500
pack .c
set ovalID [.c create oval 0 0 5 5]

然后,您可以通过不时更改其坐标来为其设置动画。

.c coords $ovalID $x $y [expr {$x + 5}] [expr {$y + 5}]

你必须允许事件循环在动画步骤之间运行,尽管只有空闲事件处理是至关重要的(因为Tk在空闲时重绘)。

update idletasks

然后您需要做的就是每次计算新位置并使用上面的坐标更新代码移动椭圆;这就是所有的动画。