0
在變量平方中,我將其定義爲50x50大小,然後給它一個隨機定位。它也有隨機的顏色。儘管如此,它的尺寸每次都不會相同。我能做些什麼來解決這個問題?爲什麼廣場不會相同? (JavaScript)
<html>
\t <head>
\t
\t \t
\t </head>
<body>
<p> Click Start Game to play </p>
<div id="start">Start Game</div>
<script>
function component(width, height, color, x, y, type) {
this.type = type;
if (type == "image"){
\t this.image = new Image();
\t this.image.src = color;
}
this.score = 0;
this.width = width;
this.height = height;
this.speedX = 0;
this.speedY = 0;
this.x = x;
this.y = y;
this.gravity = 0;
this.gravitySpeed = 0;
this.color=color;
this.update = function() {
random = Math.floor((Math.random()*100) + 1);
random2 = Math.floor((Math.random()*100) + 1);
function getRandomColor() {
var letters = 'ABCDEF';
var color = '#';
for (var i = 0; i < 6; i++) {
color += letters[Math.floor(Math.random() * 16)];
}
return color;
}
randcolor=getRandomColor();
ctx = myGameArea.context;
if (this.type == "image"){
\t ctx.drawImage(this.image, random, random2, random,random2);
} else {
ctx.fillStyle = randcolor;
ctx.fillRect(random, random2, random, random2);
}
this.x=random;
this.y=random2;
this.width=random;
this.height=random2;
this.color=randcolor;
}
}
function startGame() {
\t random = Math.floor((Math.random()*100) + 1);
\t random2 = Math.floor((Math.random()*100) + 1);
\t square = new component(50, 50, "green", random, random2);
myGameArea.start();
return square \t \t
}
var myGameArea = {
canvas : document.createElement("canvas"),
start : function() {
\t
this.canvas.width = 450;
this.canvas.height = 270;
this.context = this.canvas.getContext("2d");
document.body.insertBefore(this.canvas, document.body.childNodes[0]);
this.interval = setInterval(updateGameArea, 1000);
},
clear : function() {
this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);
}
}
function updateGameArea() {
myGameArea.clear();
square.update();
}
function userPiece() {
userSquare = new component(50,50, "green", 200,50);
return userSquare
}
document.getElementById("start").addEventListener('click', startGame);
</script>
</body>
</html>
感謝@Maciej Szpyra – spencerryan02
他應該做的,而'fillRect(this.x,this.y,this.width,this.height)'和擺脫'this.width = random; this.height = random2;'。 –