我有這個項目,我正在努力,需要有這個「球」是一個隨機的顏色從啓動。我可以生成隨機顏色,但是球在整個畫面中不斷產生新的顏色。我只需要每一個球是一個隨機的顏色。幫幫我?!我只是一名介紹性學生,所以我還不太瞭解!這是目前我的代碼:Javascript隨機顏色「球」不能正常工作
var context;
var x = Math.floor(450 * Math.random() + 1);
var y = 0;
var dx = 0;
var dy = 2;
var xx = 200;
function startGame() {
context = myCanvas.getContext('2d');
setInterval('drawEverything()', 50);
}
function drawEverything() {
drawCircle();
drawRectangle();
}
function drawCircle() {
context.clearRect(0, 0, 450, 300);
context.beginPath();
context.arc(x, y, 10, 0, Math.PI * 2);
context.closePath();
context.fillStyle = getRandomColor();
context.fill();
x += dx;
y += dy;
}
function getRandomColor() {
var letters = 'ABCDEF';
var color = '#';
for (var i = 0; i < 6; i++) {
color += letters[Math.floor(Math.random() * 16)];
}
return color;
}
您是否嘗試將顏色存儲在函數外定義的變量中,您使用'x'和'y'的方式?然後在'startGame()'函數內設置一次顏色。 – nnnnnn
@nnnnnn是正確的。因爲您的「drawEverything()」每隔50次執行一次,所以每次都會以新顏色*渲染球,因爲「drawEverything()」會以新顏色生成新球。將顏色存儲在函數外部的變量中,然後它將保持不變。 –