javascript - 当绘制它们的循环结束时如何为圆圈设置动画p5.js
问题描述
我试图让很多随机点出现在屏幕上,然后通过 spot.x++ 对它们进行动画处理;. 为什么我的代码在循环结束后不为它们设置动画,以及如何在循环结束后使代码动画?
解决方案
您需要为要绘制的每个圆圈创建一个点对象。数组非常适合存储这样的东西。
然后,每个绘制循环都必须增加每个点,并重新绘制每个圆。
让我们逐步检查您的代码:(
为简化起见,我假设您正在绘制 2 个圆圈而不是 36 个圆圈。)
spot
从 x = 50 和 y = 50 的单个数据对象开始。
spot
在的坐标 (50, 50)处画一个圆圈。那个圈子就在那里。
然后随机化 中的值spot
,所以现在它可能是 x = 231.3,y = 4.2,并在这些坐标处绘制一个新圆。那个圆圈已经画在那里,并将留在那里。
现在你取spot
,它仍然只是一个带有随机坐标的单个数据对象,然后你增加 x。spot.x
变成 232.3, 233.3, 234.3... 但你永远不会调用代码来重新绘制圆圈。
即使您确实在 的新坐标处再次绘制了一个圆spot
,它也不会影响您在 50、50 处的原始圆。
(如果你将这一行添加console.log(spot);
到你的draw()
函数中,你会明白我的意思。)
推荐阅读
- azure - 如何从 Prometheus 服务器中的 Azure app-insight 获取自定义指标?
- python - 将两个变量放在这样的 if 语句中是什么意思:variable[variable2]?
- python - 如何在条形图上绘制一条垂直线,其日期时间标签只有谨慎的 x 轴刻度位置?
- assembly - 如何在asm中的函数序言之前中断
- azure - Terraform AZ CLI 本地执行命令限制
- javascript - 如何根据单元格值将 Google Sheet 中的数据显示到 Google Web App?
- javascript - 使用 PptxGenJS 向 PowerPoint 幻灯片添加过渡
- python - 在 KeyCloak 中绕过“执行以下操作”?
- facebook - 如何为 Instagram 基本显示 API 实现 Instagram 或 Facebook 登录按钮的继续?
- c++ - 错误:非静态引用成员 - 不能使用默认赋值运算符