如何在我的草图中留下痕迹而不删除p5js中的背景?

发布于 2025-01-10 06:02:14 字数 599 浏览 0 评论 0原文

我想在矩形的每个角留下线条轨迹。我尝试过 createGraphics 在我想留下痕迹的地方添加额外的画布,但它不起作用。

我故意用余弦旋转矩形。我的作业禁止使用旋转功能。

我按照本教程操作:https://www.youtube.com/watch?v=TaluaAD9MKA

草图:

没有 createGraphics: https://editor.p5js.org/plaszlo/sketches/W6Bq6zAI3

使用 createGraphics:https://editor.p5js.org/plaszlo/sketches/WQhPN5e7F

I would like to leave line trails at each of the corners of the rectangles. I have tried createGraphics to add an extra canvas where I want to leave the trails but it's just doesn't work.

I purposefully rotate the rectangle with cosine. My assignment forbids to use the rotate function.

I followed this tutorial: https://www.youtube.com/watch?v=TaluaAD9MKA

The Sketch:

Without createGraphics: https://editor.p5js.org/plaszlo/sketches/W6Bq6zAI3

With createGraphics: https://editor.p5js.org/plaszlo/sketches/WQhPN5e7F

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冬天的雪花 2025-01-17 06:02:14

我发现你的代码有一些问题。您可以在此处查看我找到的解决方案。

我需要做的修复:

  1. 要创建图形,您应该使用 createGraphics (您之前使用的是 createCanvas)。
  2. 当您翻译在画布上绘制的形状时,您还应该翻译轨迹图层图形中的轨迹本身。
  3. 当你绘制轨迹时,你还应该使用push()和pop()来保存每一帧的图形设置,这样平移就不会从一帧到其他帧累积。

I found some problems with your code. You can check here the solutions I found.

The fixes I needed to do where:

  1. To create a Graphic you should use createGraphics (you were using createCanvas instead).
  2. As you are translating the shape you draw on the canvas, you should also translate the trails themselves in the trails layer graphic.
  3. As you draw the trails, you should also use push() and pop() to save the settings of the graphic at each frame, so the translation doesn't accumulate from one frame to the others.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文