在javascript中动画形状

时间:2016-04-23 23:23:04

标签: javascript html animation

所以我试图在画布上设置动画效果,然后在击中边缘后反弹回来,我不清楚为什么我的其他两个形状没有像我的球一样的速度。我将发布以下代码。

# Ignore bad email addresses and do not raise email delivery errors.
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
# config.action_mailer.raise_delivery_errors = false

# Enable locale fallbacks for I18n (makes lookups for any locale fall back to

2 个答案:

答案 0 :(得分:0)

你忘了用变量做绘图。并且变量是相同的(因为2个形状总是在一起)因为如果圆圈的x是150,则矩形将在它后面。所以,你需要更多变量来跟踪它:circ1x,circ1y,circ2x,circ2y,rect1x,rect1y,rect2x,rect2y

答案 1 :(得分:0)

使用可变坐标(x& y)

绘制球
context.arc(x, y, r, 0, Math.PI*2, true);

您的形状是使用硬编码的常量值绘制的:

ctx.moveTo(200,50);
ctx.lineTo(250,50);
ctx.lineTo(300, 100);
ctx.lineTo(250,25);

&安培;

ctx.moveTo(75,50);
ctx.lineTo(100,75);
ctx.lineTo(75,25);

要为它们设置动画,请使用变量绘制其他形状,然后更新这些变量。例如

var x = 75,
    y = 50;
ctx.moveTo(x,y);
ctx.lineTo(x + 25, y + 25);
ctx.lineTo(x, y - 25);