CANVAS:SHMUP背景图

时间:2012-03-25 16:19:12

标签: javascript html5 canvas

bgY += ( enemySpeed + heroSpeed ) / 2;
ctx.drawImage( bg, bgX, bgY - gameHeight );
ctx.drawImage( bg, bgX, bgY );
if( bgY > gameHeight )
{
    bgY = 0;
}

我正在使用上面的代码在画布上绘制背景。

除了绘制新图像时的小延迟外,它的效果很好。就在它被绘制之前,玩家可以看到背景在顶部没有一秒钟的图像。 (这不是我的主要问题,但你也可以提供帮助)

无论如何,现在主要问题是:

我不确定,但我认为当图像移动到画布下方时,它们实际上并没有被删除。这不会减慢游戏速度/在一段时间后表现不佳吗?

有没有办法阻止这种情况?

1 个答案:

答案 0 :(得分:0)

关于你的第一个问题:if语句应该在调用drawImage之前,而不是之后。您也可以通过模运算替换它,该运算应该保存所有相关情况。

bgY += ( enemySpeed + heroSpeed ) / 2;
bgY %= gameHeight;
ctx.drawImage( bg, bgX, bgY - gameHeight );
ctx.drawImage( bg, bgX, bgY );