【发布时间】:2012-01-13 17:01:50
【问题描述】:
我有一个使用 html 画布函数创建的形状(四分之一圆):
moveToLineToQuadraticCurveTo
如何将形状分解成粒子,然后将它们返回形成一个圆圈?
【问题讨论】:
标签: javascript canvas eventemitter particles
我有一个使用 html 画布函数创建的形状(四分之一圆):
moveToLineToQuadraticCurveTo如何将形状分解成粒子,然后将它们返回形成一个圆圈?
【问题讨论】:
标签: javascript canvas eventemitter particles
我不打算为您编写代码,因为这需要一些时间,而且我相信您可以在网上找到示例,但我会告诉您需要了解的理论以便制作这样的事。
document.createElement('canvas'))。此画布必须至少与您的对象一样大。我将假设它与您的对象一样大。我们称之为tempCanvas,它有tempCtx
所以要做爆炸:
ctx.drawImage(tempCanvas, x, y) 以便用户看到一些东西[20][30] 数组来对应。[x][y] 并使用 ctx.drawImage(tempCanvas, x, y, 1, 1, newX, newY, 1, 1) 其中 x 和 y 与像素的 [x][y] 相同,并且 newX 和 newY 使用向量计算并找到下一个点将顺其自然。结果将是图像的每个像素都绘制在稍微远离原始点击点的位置。如果您继续逐帧执行此操作,它看起来好像对象已经爆炸了。
无论如何,这是一般的想法。如果有任何不清楚的地方,请告诉我。
注意 1:您的普通画布很可能与要爆炸的对象大小不同。也许对象被放置在 100,100,所以你真的点击了 110、115 而不是 10,15。为了简单起见,我省略了该偏移量。
【讨论】: