刚看到这个问题 ball bounce 在搜索一些 JavaScript 代码时。它的代码很简单,但是如果我们想在每次球从墙上反弹时随机改变球的颜色,该怎么办。
我的想法:
有一个随机颜色生成器并使用它。像这样
function get_random_color() {
var letters = 'ABCDE'.split('');
var color = '#';
for (var i=0; i<3; i++ ) {
color += letters[Math.floor(Math.random() * letters.length)];
}
return color;
}
但是如何改变小球的颜色。我尝试了 context.fill()
但没有帮助
最佳答案
应该像球撞墙时调用函数一样直接,像这样
function myFunction() {
var context;
var dx = 4;
var dy = 4;
var y = 150;
var x = 10;
var color = get_random_color();
function draw() {
context = myCanvas.getContext('2d');
context.clearRect(0, 0, 400, 400);
context.beginPath();
context.fillStyle = color;
context.arc(x, y, 10, 0, Math.PI * 2, true);
context.closePath();
context.fill();
if (x < 0 || x > 400) {
dx = -dx;
color = get_random_color();
}
if (y < 0 || y > 300) {
dy = -dy;
color = get_random_color();
}
x += dx;
y += dy;
}
setInterval(draw, 10);
}
关于javascript - 如何改变球每次从墙上弹起的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30673020/