TI 基本弹跳球动画
TI Basic Bouncing Ball Animation
我正在尝试在 TI Basic 中制作弹跳球动画并且球留下了痕迹,我不知道如何每秒清除图形。这个问题有没有解决办法,如果有请post吧。
我的代码:
ClrDraw
AxesOff
0->Xmin
0->Ymin
94->Xmax
62->Ymax
Xmax/2->X
Ymax/2->Y
1->A
1->B
Line(0, Ymax, Xmax, Ymax)
Line(0, Ymax, 0, 0)
Line(0, 0, Xmax, 0)
Line(Xmax, Ymax, Xmax, 0)
While 1
If X<1 or X>Xmax-3
Then A*-1->A
End
If Y<1 or Y>Ymax-3
Then
B*-1->B
End
Line(X,Y,X+2,Y)
Line(X,Y+1,X+2,Y+1)
Line(X,Y+2,X+2,Y+2)
X+A->X
Y+B->Y
结束
每帧后你有两种选择来清除球:
您可以 运行 ClrDraw
每帧,然后在该帧上绘制球,或者
您可以 运行 在更新球的坐标之前绘制球的代码,但不是用黑色笔颜色绘制,您可以用白色绘制或设置擦除标志,以擦除球. Line()
有一个可选的第 5 个参数,如果它设置为 0,将擦除你的线条而不是绘制它。
你可以使用其中任何一个来删除球保留的 "after-image",但是 ClrDraw
将删除整个屏幕,并且不会保留你之前在那里的任何内容,而不是删除 [=11] =] 技术,只会擦除小球。
但是,代码由您来实现。
我过去使用的一个选项是在对象留下痕迹的两侧周围渲染空白。
我认为留下痕迹的是左侧和顶部,因此您可以简单地在渲染球的左侧和上方绘制空白,有效地即时擦除痕迹。
另一种选择是每次迭代都使用 ClrDraw,但这在处理器上效率非常低,并且会减慢动画速度。
你可以使用ClrDraw,但是,它会大大降低程序速度,所以最好使用最后一个参数为0的重绘球来清除痕迹,并且在主循环之前只使用一次ClrDraw。
我正在尝试在 TI Basic 中制作弹跳球动画并且球留下了痕迹,我不知道如何每秒清除图形。这个问题有没有解决办法,如果有请post吧。
我的代码:
ClrDraw
AxesOff
0->Xmin
0->Ymin
94->Xmax
62->Ymax
Xmax/2->X
Ymax/2->Y
1->A
1->B
Line(0, Ymax, Xmax, Ymax)
Line(0, Ymax, 0, 0)
Line(0, 0, Xmax, 0)
Line(Xmax, Ymax, Xmax, 0)
While 1
If X<1 or X>Xmax-3
Then A*-1->A
End
If Y<1 or Y>Ymax-3
Then
B*-1->B
End
Line(X,Y,X+2,Y)
Line(X,Y+1,X+2,Y+1)
Line(X,Y+2,X+2,Y+2)
X+A->X
Y+B->Y
结束
每帧后你有两种选择来清除球:
您可以 运行 ClrDraw
每帧,然后在该帧上绘制球,或者
您可以 运行 在更新球的坐标之前绘制球的代码,但不是用黑色笔颜色绘制,您可以用白色绘制或设置擦除标志,以擦除球. Line()
有一个可选的第 5 个参数,如果它设置为 0,将擦除你的线条而不是绘制它。
你可以使用其中任何一个来删除球保留的 "after-image",但是 ClrDraw
将删除整个屏幕,并且不会保留你之前在那里的任何内容,而不是删除 [=11] =] 技术,只会擦除小球。
但是,代码由您来实现。
我过去使用的一个选项是在对象留下痕迹的两侧周围渲染空白。
我认为留下痕迹的是左侧和顶部,因此您可以简单地在渲染球的左侧和上方绘制空白,有效地即时擦除痕迹。
另一种选择是每次迭代都使用 ClrDraw,但这在处理器上效率非常低,并且会减慢动画速度。
你可以使用ClrDraw,但是,它会大大降低程序速度,所以最好使用最后一个参数为0的重绘球来清除痕迹,并且在主循环之前只使用一次ClrDraw。