首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TI基础弹跳球动画

TI基础弹跳球动画
EN

Stack Overflow用户
提问于 2017-08-19 05:50:32
回答 3查看 676关注 0票数 1

我正在尝试用TI Basic制作一个弹跳球动画,球留下了一条轨迹,我想不出如何每秒清除图形。有没有解决这个问题的办法,如果有,请把它贴出来。

我的代码:

代码语言:javascript
复制
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

结束

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-09-21 04:03:07

您有两个选项可以在每一帧之后清除球:

您可以在每一帧中运行ClrDraw,然后在该帧上绘制球,或者

您可以在更新球的坐标之前运行代码来绘制球,但您可以使用白色绘制或设置擦除标志来擦除球,而不是使用黑色笔色绘制。Line()有一个可选的第5个参数,如果它设置为0,将擦除您的线条,而不是绘制它。

您可以使用这两种方法之一来删除球保留的“余像”,但ClrDraw将擦除整个屏幕,并且不保留您以前拥有的任何内容,而擦除Line()技术只会擦除球。

但是,代码的实现取决于您。

票数 3
EN

Stack Overflow用户

发布于 2018-01-04 02:15:50

我在过去使用过的一种选择是在物体留下痕迹的侧面周围渲染为空白。

我相信是左边和顶部留下了痕迹,所以你可以简单地在渲染球的左边和上方画一个空白,有效地消除飞行中的痕迹。

另一种选择是每次迭代都使用ClrDraw,但这在处理器上的效率非常低,并且会减慢动画的速度。

票数 0
EN

Stack Overflow用户

发布于 2019-05-04 10:45:15

你可以使用ClrDraw,但是它极大地减慢了程序的运行速度,所以最好使用最后一个参数为0的redraw来清除轨迹,并且在主循环之前只使用ClrDraw一次。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45765470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档