0
隨着電(這裏用onclick
在畫布上)我做槳更長的時間幾秒鐘它再次變得小了。在某些遊戲中,您會看到幾秒鐘後長槳開始閃爍,然後再次達到正常大小。你是怎樣做的?如何在特定時間後閃爍圖像對象幾秒鐘?
這是我的JavaScript代碼:
var canvas = document.getElementById("mijnCanvas");
var mijnObject = canvas.getContext("2d");
var afbeelding = new Image();
var balkX = (canvas.width/2)-50;
var balkY = canvas.height-40;
var balX = canvas.width/2;
var balY = canvas.height-50;
var radius = 10;
var balNaarX = 5;
var balNaarY = 5;
function makenBalkKort() {
mijnObject.drawImage(afbeelding, balkX, balkY, afbeelding.width, afbeelding.height);
}
afbeelding.src = "Afbeeldingen/BrickSmasher_Balk_Kort.png";
function makenBal() {
mijnObject.beginPath();
var mijnBalGradient = mijnObject.createRadialGradient(balX, balY, 0, balX, balY, 8);
mijnBalGradient.addColorStop(0, "black");
mijnBalGradient.addColorStop(1, "white");
mijnObject.fillStyle = mijnBalGradient;
mijnObject.strokeStyle = ("black");
mijnObject.arc(balX, balY, radius, 0, 2*Math.PI, false);
mijnObject.fill();
mijnObject.stroke();
mijnObject.closePath();
}
function tekenenObjecten() {
mijnObject.clearRect(0, 0, canvas.width, canvas.height);
makenBal();
makenBalkKort();
setTimeout(function() {
if(balX+balNaarX > canvas.width-radius || balX+balNaarX < radius) {
balNaarX = -balNaarX;
}
if(balY+balNaarY < radius) {
balNaarY = -balNaarY;
}
else if(balY+balNaarY > balkY-radius) {
if(balX > balkX && balX < balkX + afbeelding.width) {
balNaarY = -balNaarY;
}
else {
alert("Game over");
}
}
balX += balNaarX;
balY += balNaarY;
}, 1000);
}
setInterval(tekenenObjecten, 20);
window.addEventListener("keydown", function LinksOfRechts() {
mijnObject.clearRect(balkX, balkY, canvas.width, canvas.height);
var balkNaarX = 10;
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);
});
canvas.addEventListener("click", function balkLangMaken() {
mijnObject.clearRect(balkX, balkY, canvas.width, canvas.height);
afbeelding.src = "Afbeeldingen/BrickSmasher_Balk_Lang.png";
setTimeout(function() {
mijnObject.clearRect(balkX, balkY, canvas.width, canvas.height);
afbeelding.src = "Afbeeldingen/BrickSmasher_Balk_Kort.png";
}, 3000);
});
這是我的HTML代碼:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>BrickSmasher</title>
<style>
canvas {
position: relative;
margin-left: auto;
margin-right: auto;
display: block;
}
</style>
</head>
<body>
<canvas id="mijnCanvas" width="500" height="500" style="border: 1px solid black"></canvas>
<script src="BrickSmasher.js"></script>
</body>
</html>
以下是圖像:
謝謝您的答覆。這看起來非常令人印象深刻,我想要的是正確的。唯一的問題是,我不熟悉jQuery,我對jQuery一無所知。如果沒有太多要求,你可以用Javascript代碼發送同樣的東西。如果你這樣做,我會永遠感謝你。 – KevinN
@KevinN **關於jQuery:** jQuery僅適用於演示按鈕,您的應用根本不需要按鈕。你只需要'startFlicker'和'flickerPaddle'功能。 ;-) – markE
我想感謝你的幫助。這段代碼將幫助我進一步研究我的迷你遊戲。 – KevinN