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