【发布时间】:2013-10-30 01:22:50
【问题描述】:
我有一个作业有多个问题。
简单地说,我们需要在画布上向前/向后移动海龟,并以给定的量向右/向左旋转它。
乌龟在移动时会在他身后留下“痕迹”(一条彩色线或其他东西),当他到达画布的尽头时,它必须出现在另一边
现在我的一个问题是如何在不重绘整个画布的情况下移动海龟,因为当海龟移动时我不能丢失海龟的“踪迹”
另一件事是我在 4 个“正常”方向上移动它并出现在另一侧没有问题,但我认为我们需要能够将它旋转任意度数并在那个方向上移动它,我真的不知道该怎么做
由于这些原因,我的代码不是很先进,我只有画布和从中获取参数的表单
我真的不知道还能说什么,如有必要,我将包括我拥有的所有代码
更新:
我认为对于重绘画布的第一个问题,我可以使用clearRect(locX,locY,imgWidth,imgHeight),因此我清除了图像所在的区域并仅在其旁边绘制图像,但如果我错了,我愿意接受提示
【问题讨论】:
-
我不了解画布,但跟踪的一种方法可能是存储正在绘制的每个“帧”,清除所有画布并重新绘制所有内容以及新位置,存储并重复; ) 对于旋转,您可以查看极坐标。一个角度和一个长度。你知道的,向量数学......虽然有这个关于向量的教程,但你可能会发现它很有用natureofcode.com/book/chapter-1-vectors
-
非常感谢您的帮助...对于旋转,我发现了一个非常相似的帖子,球从墙上弹起,就像在您的链接中一样,他也给出了完成的一个,但我真的不能弄清楚他在哪里计算新的运动轨迹和路径……这是我发现的 [stackoverflow.com/questions/4697041/…
标签: javascript html canvas