bgY += (enemySpeed + heroSpeed)/2;
ctx.drawImage(bg, bgX, bgY - gameHeight);
ctx.drawImage(bg, bgX, bgY);
if(bgY > gameHeight)
{
bgY = 0;
}
나는 위의 코드를 사용하여 내 캔버스에 배경을 그려 놓았다.CANVAS : SHMUP 배경 그림
새로운 이미지를 그릴 때마다 약간의 지연이 발생하는 것을 제외하면 잘 작동합니다. 그려지기 바로 전에, 플레이어는 배경이 맨 위에 두 번째 이미지가없는 것을 볼 수 있습니다. (그건 내 주요 문제가되지 않습니다,하지만 당신은 너무 도움이 될 수 있습니다)
어쨌든, 지금은 주요 문제에 대한 :
잘 모르겠어요,하지만 난 이미지가 캔버스 아래로 이동하면 생각들이 실제로 제거되지는 않습니다. 게임이 느려지거나 잠시 후에 성능이 떨어지지 않습니까?
이것을 방지 할 수있는 방법이 있습니까?
"이미지가 캔버스 아래로 이동했습니다"또는 "실제로 제거되지 않았습니다"라는 의미는 무엇입니까? – Howard
첫 번째 코드 줄 "bgY + = (enemySpeed + heroSpeed)/2;"는 bgY 지점이 아래쪽으로 이동한다는 것을 의미합니다. 즉, 새 배경 이미지를 그릴 때 이전보다 낮아집니다. 포인트가 캔버스 아래에 오면 bgY를 0으로 설정합니다. 즉, 다시 위쪽에서 그리기 시작합니다. 그러나 캔버스 아래에있는 이미지 (이미 그려진 이미지)는 여전히 캔버스 아래에 있으며, 볼 수는 없습니다. –
아, 이제 알겠습니다. 이미지 그리기는 그리기 전에 이미지가 캔바스 경계와 관련하여 잘 리도록 (캔버스의 합리적인 구현에 대해) 최적화됩니다. 이것은 성능에 약간의 영향을 미치지 만, 당신이 볼 수있는 것은 아무것도 없습니다 (그리고 측정조차 거의하지 않습니다). – Howard