が機能していません。私はすべてを試みましたが、私はこのパターンを繰り返すように見えません。キャンバス上で私はキャンバス上に描かれたものの1つだけを取得しますが、それだけです。誰か助けてください。ctx.createPatternは、誰かがこれを見て持ってくださいすることができ
ありがとうございます。あなたが繰り返し可能な画像としてパターンにキャンバスオブジェクトを渡す
var canvasBg = document.getElementById('canvasBg');
var ctxBg = canvasBg.getContext('2d');
var gameWidth = canvasBg.width;
var gameHeight = canvasBg.height;
var imgSprite = new Image();
imgSprite.src = 'images/sprite.png';
function drawBg() {
var grassSrcX = 0;
var grassSrcY = 0;
var grassWidth = 74;
var grassHeight = 10;
var drawGrassOnCanvasX = 0;
var drawGrassOnCanvasY = 215;
ctxBg.drawImage(imgSprite,grassSrcX,grassSrcY,grassWidth,grassHeight,drawGrassOnCanvasX,drawGrassOnCanvasY,grassWidth,grassHeight);
var pattern = ctxBg.createPattern(canvasBg, 'repeat-x');
ctxBg.fillStyle = pattern;
ctxBg.fillRect(drawGrassOnCanvasX, drawGrassOnCanvasY, gameWidth, gameHeight);
}
イメージのonloadイベントがありません。イメージがロードされる前にdrawBgを呼び出すと、イメージがまったく描画されない状況が発生します。それはあなたが、あなただけの画像を使用したいいけない場合もあなたがdrawBg(パターンキャンバスを作成する必要があります...それは画像を迅速にキャッシュされ、ロードされているので、あなたのキャッシュを空にしてみてください、それが動作するかどうかを確認働くという考えにあなたをだますことができますパターンをスケールすることができます)外部に作成すると、メモリを浪費する参照が生き残ります。パターンはキャンバスのコピーであるため、パターンキャンバスは留まる必要はありません。 – Blindman67