私のオブジェクトを左から右に動かすと、私の四角形(ここで私は高得点と寿命を置くはずです)がちらつきますか?これをどうすれば解決できますか?私はfillTextを使用するときに同じ問題を抱えています。私はパドルで左または右に移動するたびにテキストがちらつきます。画像を移動するとオブジェクト(矩形)がちらつくのはなぜですか?
var canvas = document.getElementById("mijnCanvas");
var mijnObject = canvas.getContext("2d");
var afbeelding = new Image();
var balkX = (canvas.width/2)-50;
var balkY = canvas.height-100;
function makenBalkKort() {
mijnObject.drawImage(afbeelding, balkX, balkY, afbeelding.width, afbeelding.height);
}
afbeelding.src = "Afbeeldingen/BrickSmasher_Balk_Kort.png";
function tekenenObjecten() {
mijnObject.clearRect(0, 0, canvas.width, canvas.height);
makenBalkKort();
drawFrame();
}
setInterval(tekenenObjecten, 20);
window.addEventListener("keydown", function LinksOfRechts() {
mijnObject.clearRect(balkX, balkY, canvas.width, canvas.height);
var balkNaarX = 15;
var code = event.which || event.keyCode;
if(code == 37) {
if(balkX > 0) {
balkX -= balkNaarX;
}
}
else if(code == 39) {
if(balkX < canvas.width-afbeelding.width) {
balkX += balkNaarX;
}
}
mijnObject.drawImage(afbeelding, balkX, balkY, afbeelding.width, afbeelding.height);
});
function drawFrame() {
mijnObject.beginPath();
mijnObject.fillStyle = "#000000";
mijnObject.strokeStyle = "#000000";
mijnObject.rect(0, 750, canvas.width, 50);
mijnObject.fill();
mijnObject.stroke();
mijnObject.closePath();
}
はここに私の画像です:
:キャンバスが更新された状態で、できるだけ早く更新していることを確認するために、あなたがして
tekenenObjecten
関数を呼び出すsetInterval
の代わりにを使用することができます例。 – dangelと画像(Afbeeldingen/BrickSmasher_Balk_Kort.png)が入っていない – dangel
@dangel私の悪い、私は画像をオンラインに置いて忘れてしまった... JSFiddleのために、私はここでもまだ新しく、それらのすべてのもので動作するように、しかし、コードで言うように画像をアップロードすると、すべてが機能します(ちょうどその点滅するもの):) – KevinN